index.d.ts
2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import { GenericCallback, ImageCallback } from '@jimp/core';
export interface FontChar {
id: number;
x: number;
y: number;
width: number;
height: number;
xoffset: number;
yoffset: number;
xadvance: number;
page: number;
chnl: number;
}
export interface FontInfo {
face: string;
size: number;
bold: number;
italic: number;
charset: string;
unicode: number;
stretchH: number;
smooth: number;
aa: number;
padding: [number, number, number, number];
spacing: [number, number];
}
export interface FontCommon {
lineHeight: number;
base: number;
scaleW: number;
scaleH: number;
pages: number;
packed: number;
alphaChnl: number;
redChnl: number;
greenChnl: number;
blueChnl: number;
}
export interface Font {
chars: {
[char: string]: FontChar;
};
kernings: {
[firstString: string]: {
[secondString: string]: number;
};
};
pages: string[];
common: FontCommon;
info: FontInfo;
}
type PrintableText =
| any
| {
text: string;
alignmentX: number;
alignmentY: number;
};
interface PrintClass {
// Text methods
print(
font: Font,
x: number,
y: number,
text: PrintableText,
cb?: ImageCallback<this>
): this;
print(
font: Font,
x: number,
y: number,
text: PrintableText,
maxWidth?: number,
cb?: ImageCallback<this>
): this;
print(
font: Font,
x: number,
y: number,
text: PrintableText,
maxWidth?: number,
maxHeight?: number,
cb?: ImageCallback<this>
): this;
}
interface Print {
constants: {
measureText(font: Font, text: PrintableText): number;
measureTextHeight(font: Font, text: PrintableText, maxWidth: number): number;
// Font locations
FONT_SANS_8_BLACK: string;
FONT_SANS_10_BLACK: string;
FONT_SANS_12_BLACK: string;
FONT_SANS_14_BLACK: string;
FONT_SANS_16_BLACK: string;
FONT_SANS_32_BLACK: string;
FONT_SANS_64_BLACK: string;
FONT_SANS_128_BLACK: string;
FONT_SANS_8_WHITE: string;
FONT_SANS_16_WHITE: string;
FONT_SANS_32_WHITE: string;
FONT_SANS_64_WHITE: string;
FONT_SANS_128_WHITE: string;
loadFont(file: string): Promise<Font>;
loadFont(file: string, cb: GenericCallback<Font, any, any>): Promise<never>;
}
class: PrintClass
}
export default function(): Print;