1 // This may look like C code, but it is really -*- C++ -*- 2 // 3 // Copyright Bob Friesenhahn, 2001, 2002 4 // Copyright Dirk Lemstra 2014 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 16 namespace Magick 17 { 18 class MagickPPExport TypeMetric 19 { 20 friend class Image; 21 22 public: 23 24 // Default constructor 25 TypeMetric(void); 26 27 // Destructor 28 ~TypeMetric(void); 29 30 // Ascent, the distance in pixels from the text baseline to the 31 // highest/upper grid coordinate used to place an outline point. 32 double ascent(void) const; 33 34 // Descent, the distance in pixels from the baseline to the lowest 35 // grid coordinate used to place an outline point. Always a 36 // negative value. 37 double descent(void) const; 38 39 // Maximum horizontal advance in pixels. 40 double maxHorizontalAdvance(void) const; 41 42 // Text height in pixels. 43 double textHeight(void) const; 44 45 // Text width in pixels. 46 double textWidth(void) const; 47 48 // Underline position. 49 double underlinePosition(void) const; 50 51 // Underline thickness. 52 double underlineThickness(void) const; 53 54 private: 55 MagickCore::TypeMetric _typeMetric; 56 }; 57 } // namespace Magick 58 59 #endif // Magick_TypeMetric_header 60