summaryrefslogtreecommitdiff
path: root/cppcanvas/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-06-24 23:57:42 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-06-25 14:19:02 +0100
commitd5909e1452a87cb5434d144b01d368e52d64fd68 (patch)
treed0038fb3c6d564f42bad334b1c35d7041dd096de /cppcanvas/source
parentc7f4d44aacbb3c45050130304362ce3b1f604fdb (diff)
replace custom readString with read_uInt16s_ToOUString
replace custom readString with more efficient and foolproof read_uInt16s_ToOUString Change-Id: Idf5f85adad008b4bd775badd83f55b152a6ddaaf
Diffstat (limited to 'cppcanvas/source')
-rw-r--r--cppcanvas/source/mtfrenderer/emfplus.cxx22
1 files changed, 2 insertions, 20 deletions
diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx
index b99a53fa9873..79a9f74c8012 100644
--- a/cppcanvas/source/mtfrenderer/emfplus.cxx
+++ b/cppcanvas/source/mtfrenderer/emfplus.cxx
@@ -1169,24 +1169,6 @@ namespace cppcanvas
}
}
- static XubString readString (SvMemoryStream& rMF, sal_uInt32 stringLength)
- {
- sal_uInt16 *chars = new sal_uInt16[stringLength];
-
- for( sal_uInt32 i=0; i<stringLength; i++) {
- rMF >> chars[i];
- EMFP_DEBUG (printf ("EMF+\tglyph[%u]: 0x%04x\n",
- (unsigned int)i, chars[i]));
- }
-
- // create and add the text action
- rtl::OUString text(chars, stringLength);
-
- delete[] chars;
-
- return text;
- }
-
double ImplRenderer::setFont (sal_uInt8 objectId, const ActionFactoryParameters& rParms, OutDevState& rState)
{
EMFPFont *font = (EMFPFont*) aObjects[ objectId ];
@@ -1503,7 +1485,7 @@ namespace cppcanvas
EMFP_DEBUG (printf ("EMF+ DrawString layoutRect: %f,%f - %fx%f\n", lx, ly, lw, lh));
- XubString text = readString ( rMF, stringLength );
+ rtl::OUString text = read_uInt16s_ToOUString(rMF, stringLength);
double cellSize = setFont (flags & 0xff, rFactoryParms, rState);
SET_TEXT_COLOR( brushId );
@@ -1659,7 +1641,7 @@ namespace cppcanvas
float *charsPosX = new float[glyphsCount];
float *charsPosY = new float[glyphsCount];
- XubString text = readString (rMF, glyphsCount);
+ rtl::OUString text = read_uInt16s_ToOUString(rMF, glyphsCount);
for( sal_uInt32 i=0; i<glyphsCount; i++) {
rMF >> charsPosX[i] >> charsPosY[i];