Magick++  7.0.10
TypeMetric.h
Go to the documentation of this file.
1 // This may look like C code, but it is really -*- C++ -*-
2 //
3 // Copyright Bob Friesenhahn, 2001, 2002
4 // Copyright Dirk Lemstra 2014-2018
5 //
6 // TypeMetric Definition
7 //
8 // Container for font type metrics
9 //
10 
11 #if !defined (Magick_TypeMetric_header)
12 #define Magick_TypeMetric_header
13 
14 #include "Magick++/Include.h"
15 #include "Magick++/Drawable.h"
16 
17 namespace Magick
18 {
20  {
21  friend class Image;
22 
23  public:
24 
25  // Default constructor
26  TypeMetric(void);
27 
28  // Destructor
29  ~TypeMetric(void);
30 
31  // The distance in pixels from the text baseline to the highest/upper
32  // grid coordinate used to place an outline point.
33  double ascent(void) const;
34 
35  // The bounds of the type metric.
36  Geometry bounds(void) const;
37 
38  // The distance in pixels from the baseline to the lowest grid coordinate
39  // used to place an outline point. Always a negative value.
40  double descent(void) const;
41 
42  // Maximum horizontal advance in pixels.
43  double maxHorizontalAdvance(void) const;
44 
45  // The origin.
46  Coordinate origin(void) const;
47 
48  // The number of pixels per em.
49  Coordinate pixelsPerEm(void) const;
50 
51  // Text height in pixels.
52  double textHeight(void) const;
53 
54  // Text width in pixels.
55  double textWidth(void) const;
56 
57  // Underline position.
58  double underlinePosition(void) const;
59 
60  // Underline thickness.
61  double underlineThickness(void) const;
62 
63  private:
64  MagickCore::TypeMetric _typeMetric;
65  };
66 } // namespace Magick
67 
68 #endif // Magick_TypeMetric_header
#define MagickPPExport
Definition: Include.h:281
Definition: Blob.h:15