Magick++  7.1.2-29
Convert, Edit, Or Compose Bitmap Images
TypeMetric.cpp
1 // This may look like C code, but it is really -*- C++ -*-
2 //
3 // Copyright Bob Friesenhahn, 2001
4 //
5 // Copyright @ 2014 ImageMagick Studio LLC, a non-profit organization
6 // dedicated to making software imaging solutions freely available.
7 //
8 // TypeMetric implementation
9 //
10 
11 #define MAGICKCORE_IMPLEMENTATION 1
12 #define MAGICK_PLUSPLUS_IMPLEMENTATION 1
13 
14 #include "Magick++/TypeMetric.h"
15 #include "Magick++/Drawable.h"
16 #include <string.h>
17 
18 Magick::TypeMetric::TypeMetric(void)
19 {
20  memset(&_typeMetric,0,sizeof(_typeMetric));
21 }
22 
23 Magick::TypeMetric::~TypeMetric(void)
24 {
25 }
26 
27 double Magick::TypeMetric::ascent(void) const
28 {
29  return(_typeMetric.ascent);
30 }
31 
32 Magick::Geometry Magick::TypeMetric::bounds(void) const
33 {
34  return(Geometry((size_t) (_typeMetric.bounds.x2-_typeMetric.bounds.x1),
35  (size_t) (_typeMetric.bounds.y2-_typeMetric.bounds.y1),(ssize_t)
36  _typeMetric.bounds.x1,(ssize_t) _typeMetric.bounds.y1));
37 }
38 
39 double Magick::TypeMetric::descent(void) const
40 {
41  return(_typeMetric.descent);
42 }
43 
44 double Magick::TypeMetric::maxHorizontalAdvance(void) const
45 {
46  return(_typeMetric.max_advance);
47 }
48 
49 Magick::Coordinate Magick::TypeMetric::origin(void) const
50 {
51  return(Coordinate(_typeMetric.origin.x,_typeMetric.origin.y));
52 }
53 
54 Magick::Coordinate Magick::TypeMetric::pixelsPerEm(void) const
55 {
56  return(Coordinate(_typeMetric.pixels_per_em.x,_typeMetric.pixels_per_em.y));
57 }
58 
59 double Magick::TypeMetric::textHeight(void) const
60 {
61  return(_typeMetric.height);
62 }
63 
64 double Magick::TypeMetric::textWidth(void) const
65 {
66  return(_typeMetric.width);
67 }
68 
69 double Magick::TypeMetric::underlinePosition(void) const
70 {
71  return(_typeMetric.underline_position);
72 }
73 
74 double Magick::TypeMetric::underlineThickness(void) const
75 {
76  return(_typeMetric.underline_thickness);
77 }