applied GetAscender() GetDescender() round up
authorSungyeon Woo <s.woo@samsung.com>
Fri, 31 May 2013 10:15:53 +0000 (19:15 +0900)
committerSungyeon Woo <s.woo@samsung.com>
Fri, 31 May 2013 10:15:53 +0000 (19:15 +0900)
Change-Id: Ibfaadbede6e42a1bc5e0e232cdae99709d62cd69
Signed-off-by: Sungyeon Woo <s.woo@samsung.com>
src/graphics/FGrp_FontImpl.cpp

index c2e5c32..95d8c34 100644 (file)
@@ -385,7 +385,17 @@ _FontImpl::GetAscender(void) const
        CRITICAL_SECTION;
        IF_NOT_CONSTRUCTED(return -1);
 
-       int pcAscender = _pNativeFont->GetAscender().ToInt();
+       int pcAscender = _DoubleToIntForPos(ceil(_pNativeFont->GetAscender().ToDouble()));
+
+       for (int i = pcAscender; i < INT_MAX; i++)
+       {
+               if (_ResUtil::ConvertToPhyCoord(_ResUtil::ConvertToVirCoordY(i)) >= pcAscender)
+               {
+                       pcAscender = i;
+                       break;
+               }
+       }
+
        int vcAscender = _ResUtil::ConvertToVirCoordY(pcAscender);
 
        return vcAscender;
@@ -397,7 +407,7 @@ _FontImpl::GetAscenderF(void) const
        CRITICAL_SECTION;
        IF_NOT_CONSTRUCTED(return -1.0f);
 
-       float pcAscender = _pNativeFont->GetAscender().ToFloat();
+       float pcAscender = float(ceil(_pNativeFont->GetAscender().ToDouble()));
        float vcAscender = _ResUtil::ConvertToVirCoordY(pcAscender);
 
        return vcAscender;
@@ -409,14 +419,24 @@ _FontImpl::GetDescender(void) const
        CRITICAL_SECTION;
        IF_NOT_CONSTRUCTED(return -1);
 
-       int pcDescender = _pNativeFont->GetDescender().ToInt();
-       int vcDescender = _ResUtil::ConvertToVirCoordY(pcDescender);
+       int pcDescender = _DoubleToIntForPos(ceil(_pNativeFont->GetDescender().ToDouble()));
 
-       if (vcDescender < 0)
+       if (pcDescender < 0)
        {
-               vcDescender *= -1;
+               pcDescender *= -1;
        }
 
+       for (int i = pcDescender; i < INT_MAX; i++)
+       {
+               if (_ResUtil::ConvertToPhyCoord(_ResUtil::ConvertToVirCoordY(i)) >= pcDescender)
+               {
+                       pcDescender = i;
+                       break;
+               }
+       }
+
+       int vcDescender = _ResUtil::ConvertToVirCoordY(pcDescender);
+
        return vcDescender;
 }
 
@@ -426,7 +446,7 @@ _FontImpl::GetDescenderF(void) const
        CRITICAL_SECTION;
        IF_NOT_CONSTRUCTED(return -1.0f);
 
-       float pcDescender = _pNativeFont->GetDescender().ToFloat();
+       float pcDescender = float(ceil(_pNativeFont->GetDescender().ToDouble()));
        float vcDescender = _ResUtil::ConvertToVirCoordY(pcDescender);
 
        if (vcDescender < 0.0f)