Magick++ 7.1.1
Loading...
Searching...
No Matches
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
18Magick::TypeMetric::TypeMetric(void)
19{
20 memset(&_typeMetric,0,sizeof(_typeMetric));
21}
22
23Magick::TypeMetric::~TypeMetric(void)
24{
25}
26
27double Magick::TypeMetric::ascent(void) const
28{
29 return(_typeMetric.ascent);
30}
31
32Magick::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
39double Magick::TypeMetric::descent(void) const
40{
41 return(_typeMetric.descent);
42}
43
44double Magick::TypeMetric::maxHorizontalAdvance(void) const
45{
46 return(_typeMetric.max_advance);
47}
48
49Magick::Coordinate Magick::TypeMetric::origin(void) const
50{
51 return(Coordinate(_typeMetric.origin.x,_typeMetric.origin.y));
52}
53
54Magick::Coordinate Magick::TypeMetric::pixelsPerEm(void) const
55{
56 return(Coordinate(_typeMetric.pixels_per_em.x,_typeMetric.pixels_per_em.y));
57}
58
59double Magick::TypeMetric::textHeight(void) const
60{
61 return(_typeMetric.height);
62}
63
64double Magick::TypeMetric::textWidth(void) const
65{
66 return(_typeMetric.width);
67}
68
69double Magick::TypeMetric::underlinePosition(void) const
70{
71 return(_typeMetric.underline_position);
72}
73
74double Magick::TypeMetric::underlineThickness(void) const
75{
76 return(_typeMetric.underline_thickness);
77}