Add apis to know first/last line is displayed
authorYunji Park <yunji19.park@samsung.com>
Tue, 9 Apr 2013 08:15:48 +0000 (17:15 +0900)
committerYunji Park <yunji19.park@samsung.com>
Tue, 9 Apr 2013 08:15:48 +0000 (17:15 +0900)
Change-Id: I936dedd666078de328fd0dbff9f707c73521462b

src/graphics/inc/FGrp_TextTextObject.h
src/graphics/text/FGrp_TextTextObject.cpp

index 06263f8..2589792 100644 (file)
@@ -129,6 +129,10 @@ public:
 
        int GetLineIndexAtPositionY(float y) const;
 
+       bool IsDisplayedFirstLine(void) const;
+
+       bool IsDisplayedLastLine(void) const;
+
        int GetFirstTextIndexAt(int lineIndex) const;
 
        int GetTextLengthAt(int lineIndex) const;
index bf1f21f..9eb8861 100644 (file)
@@ -954,6 +954,46 @@ TextObject::IsDisplayedAtEndPosition(void) const
        return isDisplayedAtEndPosition;
 }
 
+bool
+TextObject::IsDisplayedFirstLine(void) const
+{
+       IF_NOT_CONSTRUCTED(return false);
+
+       float firstDisplayPositionY = __pTextColumn->GetFirstDisplayPositionYF();
+       float firstLineHeight = GetLineHeightAtF(0);
+
+       bool isDisplayedFirstLine = false;
+       if(firstDisplayPositionY == 0.0f || firstDisplayPositionY < firstLineHeight)
+       {
+               isDisplayedFirstLine = true;
+       }
+
+       return isDisplayedFirstLine;
+}
+
+bool
+TextObject::IsDisplayedLastLine(void) const
+{
+       IF_NOT_CONSTRUCTED(return false);
+
+       float totalHeight = 0.0f;
+       float firstDisplayPositionY = 0.0f;
+       bool isDisplayedLastLine = false;
+
+       firstDisplayPositionY = __pTextColumn->GetFirstDisplayPositionYF();
+       totalHeight = __pTextColumn->GetTotalHeightF();
+
+       float lastLineHeight = GetLineHeightAtF(GetTotalLineCount()-1);
+
+       float remainingHeight = totalHeight - firstDisplayPositionY;
+       if (remainingHeight - __rect.height < lastLineHeight || remainingHeight <= __rect.height)
+       {
+               isDisplayedLastLine = true;
+       }
+
+       return isDisplayedLastLine;
+}
+
 result
 TextObject::SetAction(TextObjectActionType action)
 {