From 3f654216126b4459659767124683074db149e708 Mon Sep 17 00:00:00 2001 From: DarkWyrm Date: Sat, 7 May 2005 17:02:56 +0000 Subject: [PATCH] Added a rudimentary version of the float version of GetEscapements Added a TODO to eventually support UTF8 characters git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12589 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Font.cpp | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/kits/interface/Font.cpp b/src/kits/interface/Font.cpp index 6150f6dfd9..c2d226ae37 100644 --- a/src/kits/interface/Font.cpp +++ b/src/kits/interface/Font.cpp @@ -942,7 +942,33 @@ void BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta *delta, float escapementArray[]) const { - // TODO: implement + if(!charArray || numChars<1 || !escapementArray) + return; + + int32 code; + BPrivate::BAppServerLink link; + + link.StartMessage(AS_GET_ESCAPEMENTS_AS_FLOATS); + + link.Attach(fFamilyID); + link.Attach(fStyleID); + link.Attach(fSize); + link.Attach(fRotation); + link.Attach(fFlags); + + link.Attach(numChars); + + // TODO: Support UTF8 characters + for(int32 i=0; i(charArray[i]); + + link.FlushWithReply(&code); + + if(code!=SERVER_TRUE) + return; + + for(int32 i=0; i(&escapementArray[i]); } @@ -974,6 +1000,7 @@ BFont::GetEscapements(const char charArray[], int32 numChars, escapement_delta * link.Attach(numChars); + // TODO: Support UTF8 characters if(offsetArray) { for(int32 i=0; i