Imported Upstream version 2.13.2
[platform/upstream/freetype2.git] / include / freetype / internal / services / svpfr.h
1 /****************************************************************************
2  *
3  * svpfr.h
4  *
5  *   Internal PFR service functions (specification).
6  *
7  * Copyright (C) 2003-2023 by
8  * David Turner, Robert Wilhelm, and Werner Lemberg.
9  *
10  * This file is part of the FreeType project, and may only be used,
11  * modified, and distributed under the terms of the FreeType project
12  * license, LICENSE.TXT.  By continuing to use, modify, or distribute
13  * this file you indicate that you have read the license and
14  * understand and accept it fully.
15  *
16  */
17
18
19 #ifndef SVPFR_H_
20 #define SVPFR_H_
21
22 #include <freetype/ftpfr.h>
23 #include <freetype/internal/ftserv.h>
24
25
26 FT_BEGIN_HEADER
27
28
29 #define FT_SERVICE_ID_PFR_METRICS  "pfr-metrics"
30
31
32   typedef FT_Error
33   (*FT_PFR_GetMetricsFunc)( FT_Face    face,
34                             FT_UInt   *aoutline,
35                             FT_UInt   *ametrics,
36                             FT_Fixed  *ax_scale,
37                             FT_Fixed  *ay_scale );
38
39   typedef FT_Error
40   (*FT_PFR_GetKerningFunc)( FT_Face     face,
41                             FT_UInt     left,
42                             FT_UInt     right,
43                             FT_Vector  *avector );
44
45   typedef FT_Error
46   (*FT_PFR_GetAdvanceFunc)( FT_Face   face,
47                             FT_UInt   gindex,
48                             FT_Pos   *aadvance );
49
50
51   FT_DEFINE_SERVICE( PfrMetrics )
52   {
53     FT_PFR_GetMetricsFunc  get_metrics;
54     FT_PFR_GetKerningFunc  get_kerning;
55     FT_PFR_GetAdvanceFunc  get_advance;
56
57   };
58
59
60 FT_END_HEADER
61
62 #endif /* SVPFR_H_ */
63
64
65 /* END */