|
NPWBase.h File ReferenceNPW (base functions to write PDF files).
More...
Go to the source code of this file.
|
Data Structures |
struct | NPWXRef |
| Cross-reference description. More...
|
struct | NPWPage |
| Page description. More...
|
struct | NPW |
| NPW main structure. More...
|
Defines |
#define | NULL 0 |
| null pointer
|
#define | FALSE 0 |
| false boolean value
|
#define | TRUE 1 |
| true boolean value
|
#define | kNPWUnitMM 2.835 |
| conversion factor from mm to pt
|
#define | kNPWUnitCM 28.35 |
| conversion factor from cm to pt
|
#define | kNPWUnitInch 72 |
| conversion factor from inch to pt
|
#define | NPWFilterNameASCIIHex "/AHx" |
| hexadecimal filter name
|
#define | NPWFilterNameASCII85 "/A85" |
| base-85 filter name
|
#define | NPWFilterNameRunLength "/RL" |
| run-length filter name
|
#define | NPWFontNameCourier "/FC" |
| Courier font name.
|
#define | NPWFontNameCourierOblique "/FCo" |
| Courier Oblique font name.
|
#define | NPWFontNameCourierBold "/FCb" |
| Courier Bold font name.
|
#define | NPWFontNameCourierBoldOblique "/FCbo" |
| Courier Bold Oblique font name.
|
#define | NPWFontNameHelvetica "/FH" |
| Helvetica font name.
|
#define | NPWFontNameHelveticaOblique "/FHo" |
| Helvetica Oblique font name.
|
#define | NPWFontNameHelveticaBold "/FHb" |
| Helvetica Bold font name.
|
#define | NPWFontNameHelveticaBoldOblique "/FHbo" |
| Helvetica Bold Oblique font name.
|
#define | NPWFontNameTimesRoman "/FT" |
| Times Roman font name.
|
#define | NPWFontNameTimesItalic "/FTi" |
| Time Italic font name.
|
#define | NPWFontNameTimesBold "/FTb" |
| Times Bold font name.
|
#define | NPWFontNameTimesBoldItalic "/FTbi" |
| Times Bold Italic font name.
|
#define | NPWFontNameSymbol "/FS" |
| Symbol font name.
|
#define | NPWFontNameZapfDingbats "/FZ" |
| Zapf Dingbats font name.
|
Typedefs |
typedef char | NPWChar |
| Character (8-bit; processing possible with compatible charsets like UTF-8 or Shift-JIS).
|
typedef NPWChar * | NPWText |
| Text.
|
typedef NPWChar const * | NPWConstText |
| Constant text.
|
typedef int | NPWInt |
| Integer.
|
typedef NPWInt | NPWRef |
| Object reference.
|
typedef NPWInt | NPWOffset |
| Offset in PDF file.
|
typedef unsigned char | NPWByte |
| Unsigned 8-bit integer.
|
typedef unsigned long | NPWUInt32 |
| Unsigned 32-bit integer.
|
typedef short | PDFInt16 |
| Signed 16-bit integer.
|
typedef double | NPWFloat |
| Floating-point number.
|
typedef int | NPWBoolean |
| Boolean.
|
typedef NPWErr(* | NPWWriteCB )(NPWConstText str, NPWInt length, void *userData) |
| Callback to write data to PDF file.
|
typedef NPWErr(* | NPWAllocCB )(void **p, NPWInt size, void *userData) |
| Callback to allocate, resize or free block of memory.
|
Enumerations |
enum | { kNPWNoRef = -1
} |
| Special references. More...
|
enum | NPWErr {
kNPWErrOk = 0,
kNPWErrNotEnoughMemory,
kNPWErrNestedObject,
kNPWErrUnbalancedObj,
kNPWUnknownFont,
kNPWNumTooLarge,
kNPWErrIncomplete,
kNPWErrSuspended,
kNPWErrInternal
} |
| Error codes. More...
|
enum | {
kNPWPaperHeightA3 = 1191,
kNPWPaperWidthA3 = 842,
kNPWPaperHeightA4 = 842,
kNPWPaperWidthA4 = 595,
kNPWPaperHeightA5 = 595,
kNPWPaperWidthA5 = 420,
kNPWPaperHeightA6 = 420,
kNPWPaperWidthA6 = 298,
kNPWPaperHeightB3 = 1417,
kNPWPaperWidthB3 = 1001,
kNPWPaperHeightB4 = 1001,
kNPWPaperWidthB4 = 709,
kNPWPaperHeightB5 = 709,
kNPWPaperWidthB5 = 499,
kNPWPaperHeightB6 = 499,
kNPWPaperWidthB6 = 354,
kNPWPaperHeightC3 = 1298,
kNPWPaperWidthC3 = 918,
kNPWPaperHeightC4 = 918,
kNPWPaperWidthC4 = 649,
kNPWPaperHeightC5 = 649,
kNPWPaperWidthC5 = 459,
kNPWPaperHeightC6 = 459,
kNPWPaperWidthC6 = 323,
kNPWPaperHeightDL = 312,
kNPWPaperWidthDL = 624,
kNPWPaperHeightID1 = 153,
kNPWPaperWidthID1 = 243,
kNPWPaperHeightID2 = 210,
kNPWPaperWidthID2 = 298,
kNPWPaperHeightID3 = 249,
kNPWPaperWidthID3 = 354,
kNPWPaperHeightLetter = 792,
kNPWPaperWidthLetter = 612,
kNPWPaperHeightLegal = 1008,
kNPWPaperWidthLegal = 612,
kNPWPaperHeightExecutive = 756,
kNPWPaperWidthExecutive = 522,
kNPWPaperHeightLedger = 1224,
kNPWPaperWidthLedger = 792
} |
| Paper size. More...
|
enum | { kNPWFilterNone = 0,
kNPWFilterASCIIHex = 1,
kNPWFilterASCII85 = 2,
kNPWFilterRunLength = 4
} |
| Filter flags (encoding: first rl, then hex or 85). More...
|
enum | {
kNPWFontCourier = 1,
kNPWFontCourierOblique = 2,
kNPWFontCourierBold = 4,
kNPWFontCourierBoldOblique = 010,
kNPWFontHelvetica = 020,
kNPWFontHelveticaOblique = 040,
kNPWFontHelveticaBold = 0100,
kNPWFontHelveticaBoldOblique = 0200,
kNPWFontTimesRoman = 0400,
kNPWFontTimesItalic = 01000,
kNPWFontTimesBold = 02000,
kNPWFontTimesBoldItalic = 04000,
kNPWFontSymbol = 010000,
kNPWFontZapfDingbats = 020000,
kNPWFontNone = 0,
kNPWFontAll = 037777
} |
| Standard font flags. More...
|
Functions |
void | NPWInit (NPW *pdf) |
| Initialize PDF.
|
void | NPWSetAllocCallback (NPW *pdf, NPWAllocCB alloc, void *userData) |
| Set memory allocation callback.
|
void | NPWSetWriteCallback (NPW *pdf, NPWWriteCB write, void *userData) |
| Set write callback.
|
void | NPWSetFonts (NPW *pdf, NPWInt fonts) |
| Specify which standard fonts should be made available.
|
NPWErr | NPWTerminate (NPW *pdf) |
| Terminate PDF and flush output.
|
NPWErr | NPWBeginPage (NPW *pdf, NPWInt width, NPWInt height) |
| Beginning of page.
|
NPWErr | NPWEndPage (NPW *pdf) |
| End of page.
|
NPWErr | NPWWrite (NPW *pdf, NPWConstText str, NPWInt length) |
| Write a string.
|
NPWErr | NPWWriteInt (NPW *pdf, NPWInt i, NPWInt pad) |
| Write an integer.
|
NPWErr | NPWWriteFloat (NPW *pdf, NPWFloat x) |
| Write an floating-point value.
|
NPWErr | NPWWriteString (NPW *pdf, NPWConstText str, NPWInt length) |
| Write a string value (should be ISO Latin 1 to match encoding set for standard fonts).
|
NPWErr | NPWBeginObj (NPW *pdf, NPWRef *ref) |
| Begin writing an object.
|
NPWErr | NPWEndObj (NPW *pdf) |
| End writing an object.
|
void | NPWFilterBegin (NPW *pdf, NPWInt filter) |
| Begin writing filtered data to PDF.
|
NPWErr | NPWFilterWrite (NPW *pdf, NPWByte const *b, NPWInt n) |
| Write filtered data to PDF.
|
NPWErr | NPWFilterEnd (NPW *pdf) |
| End writing filtered data to PDF.
|
Detailed Description
NPW (base functions to write PDF files).
- Author:
- Yves Piguet. Copyright 2008-2010, Yves Piguet
Definition in file NPWBase.h.
Typedef Documentation
Callback to allocate, resize or free block of memory.
- Parameters:
-
[in,out] | p | pointer to memory (NULL to allocate new block) |
[in] | size | size of block (negative to free it) |
[in,out] | userData | application-specific data |
- Returns:
- kNPWErrOk for success, else error code
Definition at line 296 of file NPWBase.h.
Callback to write data to PDF file.
- Parameters:
-
[in] | str | address of string |
[in] | length | length of string in bytes |
[in,out] | userData | application-specific data |
- Returns:
- kNPWErrOk for success, else error code
Definition at line 288 of file NPWBase.h.
Enumeration Type Documentation
Special references.
- Enumerator:
-
kNPWNoRef |
Special value for nonexistent reference. |
Definition at line 204 of file NPWBase.h.
Paper size.
- Enumerator:
-
kNPWPaperHeightA3 |
portrait A3 height (420 mm) |
kNPWPaperWidthA3 |
portrait A3 width (297 mm) |
kNPWPaperHeightA4 |
portrait A4 height (297 mm) |
kNPWPaperWidthA4 |
portrait A4 width (210 mm) |
kNPWPaperHeightA5 |
portrait A5 height (210 mm) |
kNPWPaperWidthA5 |
portrait A5 width (148 mm) |
kNPWPaperHeightA6 |
portrait A6 height (148 mm) |
kNPWPaperWidthA6 |
portrait A6 width (105 mm) |
kNPWPaperHeightB3 |
portrait B3 height (500 mm) |
kNPWPaperWidthB3 |
portrait B3 width (353 mm) |
kNPWPaperHeightB4 |
portrait B4 height (353 mm) |
kNPWPaperWidthB4 |
portrait B4 width (250 mm) |
kNPWPaperHeightB5 |
portrait B5 height (250 mm) |
kNPWPaperWidthB5 |
portrait B5 width (176 mm) |
kNPWPaperHeightB6 |
portrait B6 height (176 mm) |
kNPWPaperWidthB6 |
portrait B6 width (125 mm) |
kNPWPaperHeightC3 |
portrait C3 height (458 mm) |
kNPWPaperWidthC3 |
portrait C3 width (324 mm) |
kNPWPaperHeightC4 |
portrait C4 height (324 mm) |
kNPWPaperWidthC4 |
portrait C4 width (229 mm) |
kNPWPaperHeightC5 |
portrait C5 height (229 mm) |
kNPWPaperWidthC5 |
portrait C5 width (162 mm) |
kNPWPaperHeightC6 |
portrait C6 height (162 mm) |
kNPWPaperWidthC6 |
portrait C6 width (114 mm) |
kNPWPaperHeightDL |
DL envelope height(110 mm). |
kNPWPaperWidthDL |
DL envelope width (220 mm). |
kNPWPaperHeightID1 |
ID-1 (banking cards) height (53.98 mm). |
kNPWPaperWidthID1 |
ID-1 (banking card) width (85.6 mm). |
kNPWPaperHeightID2 |
ID-2 (A7) height (74 mm). |
kNPWPaperWidthID2 |
ID-2 (A7) width (105 mm). |
kNPWPaperHeightID3 |
ID-3 (B7, passport) height (88 mm). |
kNPWPaperWidthID3 |
ID-3 (B7, passport) width (125 mm). |
kNPWPaperHeightLetter |
Letter height (279 mm). |
kNPWPaperWidthLetter |
Letter height (216 mm). |
kNPWPaperHeightLegal |
Legal height (356 mm). |
kNPWPaperWidthLegal |
Legal height (216 mm). |
kNPWPaperHeightExecutive |
Executive height (266.7 mm). |
kNPWPaperWidthExecutive |
Executive height (184.2 mm). |
kNPWPaperHeightLedger |
Ledger/Tabloid height (431.8 mm). |
kNPWPaperWidthLedger |
Ledger/Tabloid height (279.4 mm). |
Definition at line 225 of file NPWBase.h.
Filter flags (encoding: first rl, then hex or 85).
- Enumerator:
-
kNPWFilterNone |
no filter |
kNPWFilterASCIIHex |
ASCII Hexadecimal filter. |
kNPWFilterASCII85 |
ASCII base-85 filter. |
kNPWFilterRunLength |
run-length compression filter |
Definition at line 315 of file NPWBase.h.
Standard font flags.
- Enumerator:
-
kNPWFontCourier |
Courier. |
kNPWFontCourierOblique |
Courier oblique. |
kNPWFontCourierBold |
Courier bold. |
kNPWFontCourierBoldOblique |
Courier bold oblique. |
kNPWFontHelvetica |
Helvetica. |
kNPWFontHelveticaOblique |
Helvetica oblique. |
kNPWFontHelveticaBold |
Helvetica bold. |
kNPWFontHelveticaBoldOblique |
Helvetica bold oblique. |
kNPWFontTimesRoman |
Times roman. |
kNPWFontTimesItalic |
Times italic. |
kNPWFontTimesBold |
Times bold. |
kNPWFontTimesBoldItalic |
Times bold italic. |
kNPWFontSymbol |
Symbol. |
kNPWFontZapfDingbats |
Zapf Dingbats. |
kNPWFontNone |
no font |
kNPWFontAll |
all fonts |
Definition at line 362 of file NPWBase.h.
Error codes.
- Enumerator:
-
kNPWErrOk |
no error |
kNPWErrNotEnoughMemory |
not enough memory |
kNPWErrNestedObject |
try to start a new object without having ended previous one |
kNPWErrUnbalancedObj |
endobj without obj |
kNPWUnknownFont |
unknown font |
kNPWNumTooLarge |
floating-point number too large |
kNPWErrIncomplete |
incomplete operation |
kNPWErrSuspended |
operation suspended by callback to permit a lower-level action |
kNPWErrInternal |
internal error (should never occur) |
Definition at line 210 of file NPWBase.h.
Function Documentation
Begin writing an object.
- Parameters:
-
| pdf | reference to NPW structure |
[out] | ref | object reference number |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 482 of file NPWBase.c.
Beginning of page.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | width | page width |
[in] | height | page height |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 692 of file NPWBase.c.
End writing an object.
- Parameters:
-
| pdf | reference to NPW structure |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 526 of file NPWBase.c.
End of page.
- Parameters:
-
| pdf | reference to NPW structure |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 730 of file NPWBase.c.
void NPWFilterBegin |
( |
NPW * |
pdf, |
|
|
NPWInt |
filter | |
|
) |
| | |
Begin writing filtered data to PDF.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | filter | (kNPWFilterNone for none) |
Definition at line 303 of file NPWBase.c.
End writing filtered data to PDF.
- Parameters:
-
| pdf | reference to NPW structure |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 412 of file NPWBase.c.
Write filtered data to PDF.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | b | address of unfiltered data |
[in] | n | number of unfiltered bytes |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 355 of file NPWBase.c.
void NPWInit |
( |
NPW * |
pdf |
) |
|
Initialize PDF.
- Parameters:
-
[out] | pdf | reference to NPW structure |
Definition at line 39 of file NPWBase.c.
void NPWSetAllocCallback |
( |
NPW * |
pdf, |
|
|
NPWAllocCB |
alloc, |
|
|
void * |
userData | |
|
) |
| | |
Set memory allocation callback.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | alloc | memory allocation callback |
[in] | userData | callback user data |
Definition at line 55 of file NPWBase.c.
Specify which standard fonts should be made available.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | fonts | font flags (kNPWFontAll for all) |
Definition at line 69 of file NPWBase.c.
void NPWSetWriteCallback |
( |
NPW * |
pdf, |
|
|
NPWWriteCB |
write, |
|
|
void * |
userData | |
|
) |
| | |
Set write callback.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | write | allocation callback |
[in] | userData | callback user data |
Definition at line 62 of file NPWBase.c.
Terminate PDF and flush output.
- Parameters:
-
| pdf | reference to NPW structure |
- Returns:
- kNPWErrOk for success, else error code
Definition at line 748 of file NPWBase.c.
Write a string.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | str | address of first character |
[in] | length | number of bytes, or -1 if str is null-terminated |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 74 of file NPWBase.c.
Write an floating-point value.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | x | number |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 124 of file NPWBase.c.
Write an integer.
- Parameters:
-
| pdf | reference to NPW structure |
[in] | i | number |
[in] | pad | number of digits (0-padded), or -1 |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 87 of file NPWBase.c.
Write a string value (should be ISO Latin 1 to match encoding set for standard fonts).
- Parameters:
-
| pdf | reference to NPW structure |
[in] | str | string |
[in] | length | string length in bytes, or -1 for null-terminated string |
- Returns:
- error code (kNPWErrOk for success)
Definition at line 167 of file NPWBase.c.
|
Generated by Doxygen.
Copyright 2007-2010, Yves Piguet.
All rights reserved.
|
|