blob: 0ba4e86798f3a6b094e0ee4ee1fd95811301d99f [file] [log] [blame]
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 2001
// Copyright Dirk Lemstra 2014-2018
//
// TypeMetric implementation
//
#define MAGICKCORE_IMPLEMENTATION 1
#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
#include "Magick++/TypeMetric.h"
#include "Magick++/Drawable.h"
#include <string.h>
Magick::TypeMetric::TypeMetric(void)
{
memset(&_typeMetric,0,sizeof(_typeMetric));
}
Magick::TypeMetric::~TypeMetric(void)
{
}
double Magick::TypeMetric::ascent(void) const
{
return(_typeMetric.ascent);
}
Magick::Geometry Magick::TypeMetric::bounds(void) const
{
return(Geometry((size_t) (_typeMetric.bounds.x2-_typeMetric.bounds.x1),
(size_t) (_typeMetric.bounds.y2-_typeMetric.bounds.y1),(ssize_t)
_typeMetric.bounds.x1,(ssize_t) _typeMetric.bounds.y1));
}
double Magick::TypeMetric::descent(void) const
{
return(_typeMetric.descent);
}
double Magick::TypeMetric::maxHorizontalAdvance(void) const
{
return(_typeMetric.max_advance);
}
Magick::Coordinate Magick::TypeMetric::origin(void) const
{
return(Coordinate(_typeMetric.origin.x,_typeMetric.origin.y));
}
Magick::Coordinate Magick::TypeMetric::pixelsPerEm(void) const
{
return(Coordinate(_typeMetric.pixels_per_em.x,_typeMetric.pixels_per_em.y));
}
double Magick::TypeMetric::textHeight(void) const
{
return(_typeMetric.height);
}
double Magick::TypeMetric::textWidth(void) const
{
return(_typeMetric.width);
}
double Magick::TypeMetric::underlinePosition(void) const
{
return(_typeMetric.underline_position);
}
double Magick::TypeMetric::underlineThickness(void) const
{
return(_typeMetric.underline_thickness);
}