ultimatepp/uppsrc/Painter/Text.cpp
cxl f5eca158c8 Removed DUMPs
git-svn-id: svn://ultimatepp.org/upp/trunk@781 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2009-01-17 12:52:45 +00:00

51 lines
1.1 KiB
C++

#include "Painter.h"
NAMESPACE_UPP
void Painter::TextOp(double x, double y, const wchar *text, Font fnt, int n, double *dx)
{
FontInfo fi = fnt.Info();
if(n < 0)
n = wstrlen(text);
while(n) {
int ch = *text++;
Character(x, y, ch, fnt);
if(dx)
x += *dx++;
else
x += fi[ch];
n--;
}
}
Painter& Painter::Character(double x, double y, int ch, Font fnt)
{
CharacterOp(x, y, ch, fnt);
return *this;
}
Painter& Painter::Text(double x, double y, const wchar *text, Font fnt, int n, double *dx)
{
TextOp(x, y, text, fnt, n, dx);
return *this;
}
Painter& Painter::Text(double x, double y, const WString& s, Font fnt, double *dx)
{
Text(x, y, s, fnt, s.GetLength(), dx);
return *this;
}
Painter& Painter::Text(double x, double y, const String& s, Font fnt, double *dx)
{
Text(x, y, s.ToWString(), fnt, dx);
return *this;
}
Painter& Painter::Text(double x, double y, const char *text, Font fnt, int n, double *dx)
{
Text(x, y, ToUnicode(text, n < 0 ? strlen(text) : n, CHARSET_DEFAULT), fnt, dx);
return *this;
}
END_UPP_NAMESPACE