CXXR (C++ R)
Rvfonts.h
1 /*CXXR $Id: Rvfonts.h 1348 2013-02-25 17:49:03Z arr $
2  *CXXR
3  *CXXR This file is part of CXXR, a project to refactor the R interpreter
4  *CXXR into C++. It may consist in whole or in part of program code and
5  *CXXR documentation taken from the R project itself, incorporated into
6  *CXXR CXXR (and possibly MODIFIED) under the terms of the GNU General Public
7  *CXXR Licence.
8  *CXXR
9  *CXXR CXXR is Copyright (C) 2008-13 Andrew R. Runnalls, subject to such other
10  *CXXR copyrights and copyright restrictions as may be stated below.
11  *CXXR
12  *CXXR CXXR is not part of the R project, and bugs and other issues should
13  *CXXR not be reported via r-bugs or other R project channels; instead refer
14  *CXXR to the CXXR website.
15  *CXXR */
16 
17 #ifndef R_VFONTS_MODULE_H
18 #define R_VFONTS_MODULE_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 typedef void (*R_GE_VTextRoutine)(double x, double y, const char * const s,
25  double x_justify, double y_justify,
26  double rotation,
27  const pGEcontext gc, pGEDevDesc dd);
28 
29 typedef double (*R_GE_VStrWidthRoutine)(const char *s,
30  const pGEcontext gc, pGEDevDesc dd);
31 
32 typedef double (*R_GE_VStrHeightRoutine)(const char *s,
33  const pGEcontext gc, pGEDevDesc dd);
34 
35 typedef struct {
36  R_GE_VTextRoutine GEVText;
37  R_GE_VStrWidthRoutine GEVStrWidth;
38  R_GE_VStrHeightRoutine GEVStrHeight;
39 } VfontRoutines;
40 
41 void R_GE_setVFontRoutines(R_GE_VStrWidthRoutine vwidth,
42  R_GE_VStrHeightRoutine vheight,
43  R_GE_VTextRoutine vtext);
44 
45 #ifdef __cplusplus
46 } // extern "C"
47 #endif
48 
49 #endif /* ifndef R_VFONTS_MODULE_H */