]> git.imager.perl.org - imager.git/blob - FT2/imft2.h
avoid a possible sign-extension for offsets/sizes in SGI
[imager.git] / FT2 / imft2.h
1 #ifndef IMAGER_FT2_H
2 #define IMAGER_FT2_H
3
4 #include "imdatatypes.h"
5
6 typedef struct FT2_Fonthandle FT2_Fonthandle;
7
8 typedef FT2_Fonthandle* Imager__Font__FT2x;
9
10 extern int i_ft2_version(int runtime, char *buf, size_t buf_size);
11 extern void i_ft2_start(void);
12 extern FT2_Fonthandle * i_ft2_new(const char *name, int index);
13 extern void i_ft2_destroy(FT2_Fonthandle *handle);
14 extern int i_ft2_setdpi(FT2_Fonthandle *handle, int xdpi, int ydpi);
15 extern int i_ft2_getdpi(FT2_Fonthandle *handle, int *xdpi, int *ydpi);
16 extern int i_ft2_settransform(FT2_Fonthandle *handle, const double *matrix);
17 extern int i_ft2_sethinting(FT2_Fonthandle *handle, int hinting);
18 extern int i_ft2_bbox(FT2_Fonthandle *handle, double cheight, double cwidth, 
19                       char const *text, size_t len, i_img_dim *bbox, int utf8);
20 extern int i_ft2_bbox_r(FT2_Fonthandle *handle, double cheight, double cwidth, 
21                       char const *text, size_t len, int vlayout, int utf8, i_img_dim *bbox);
22 extern int i_ft2_text(FT2_Fonthandle *handle, i_img *im, i_img_dim tx, i_img_dim ty, 
23                       const i_color *cl, double cheight, double cwidth, 
24                       char const *text, size_t len, int align, int aa, 
25                       int vlayout, int utf8);
26 extern int i_ft2_cp(FT2_Fonthandle *handle, i_img *im, i_img_dim tx, i_img_dim ty, 
27                     int channel, double cheight, double cwidth, 
28                     char const *text, size_t len, int align, int aa, 
29                     int vlayout, int utf8);
30 extern size_t
31 i_ft2_has_chars(FT2_Fonthandle *handle, char const *text, size_t len,
32                            int utf8, char *work);
33 extern size_t
34 i_ft2_face_name(FT2_Fonthandle *handle, char *name_buf, 
35                 size_t name_buf_size);
36 extern int i_ft2_can_face_name(void);
37 extern int i_ft2_glyph_name(FT2_Fonthandle *handle, unsigned long ch, 
38                             char *name_buf, size_t name_buf_size,
39                             int reliable_only);
40 extern int i_ft2_can_do_glyph_names(void);
41 extern int i_ft2_face_has_glyph_names(FT2_Fonthandle *handle);
42
43 extern int i_ft2_get_multiple_masters(FT2_Fonthandle *handle,
44                                       i_font_mm *mm);
45 extern int
46 i_ft2_is_multiple_master(FT2_Fonthandle *handle);
47 extern int
48 i_ft2_set_mm_coords(FT2_Fonthandle *handle, int coord_count, const long *coords);
49
50 void ft2_transform_box(FT2_Fonthandle *handle, i_img_dim bbox[4]);
51
52 #endif
53