This source file includes following definitions.
- clear
- emptyValue
- dumpSVGCharacterDataMapValue
- dump
#include "config.h"
#include "core/rendering/svg/SVGTextLayoutAttributes.h"
#include <stdio.h>
#include "wtf/text/CString.h"
namespace WebCore {
SVGTextLayoutAttributes::SVGTextLayoutAttributes(RenderSVGInlineText* context)
: m_context(context)
{
}
void SVGTextLayoutAttributes::clear()
{
m_characterDataMap.clear();
m_textMetricsValues.clear();
}
float SVGTextLayoutAttributes::emptyValue()
{
static float s_emptyValue = std::numeric_limits<float>::max() - 1;
return s_emptyValue;
}
static inline void dumpSVGCharacterDataMapValue(const char* identifier, float value, bool appendSpace = true)
{
if (value == SVGTextLayoutAttributes::emptyValue()) {
fprintf(stderr, "%s=x", identifier);
if (appendSpace)
fprintf(stderr, " ");
return;
}
fprintf(stderr, "%s=%lf", identifier, value);
if (appendSpace)
fprintf(stderr, " ");
}
void SVGTextLayoutAttributes::dump() const
{
fprintf(stderr, "context: %p\n", m_context);
const SVGCharacterDataMap::const_iterator end = m_characterDataMap.end();
for (SVGCharacterDataMap::const_iterator it = m_characterDataMap.begin(); it != end; ++it) {
const SVGCharacterData& data = it->value;
fprintf(stderr, " ---> pos=%i, data={", it->key);
dumpSVGCharacterDataMapValue("x", data.x);
dumpSVGCharacterDataMapValue("y", data.y);
dumpSVGCharacterDataMapValue("dx", data.dx);
dumpSVGCharacterDataMapValue("dy", data.dy);
dumpSVGCharacterDataMapValue("rotate", data.rotate, false);
fprintf(stderr, "}\n");
}
}
}