projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ellipsis sometimes appears incorrect when mixed with RTL + LTR
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
text
/
rendering
/
view-model.cpp
diff --git
a/dali-toolkit/internal/text/rendering/view-model.cpp
b/dali-toolkit/internal/text/rendering/view-model.cpp
index
fe3c451
..
3046f45
100755
(executable)
--- a/
dali-toolkit/internal/text/rendering/view-model.cpp
+++ b/
dali-toolkit/internal/text/rendering/view-model.cpp
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 201
7
Samsung Electronics Co., Ltd.
+ * Copyright (c) 201
9
Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@
-61,16
+61,21
@@
const Vector2& ViewModel::GetScrollPosition() const
return mModel->GetScrollPosition();
}
return mModel->GetScrollPosition();
}
-
Layout::HorizontalAlignment
ViewModel::GetHorizontalAlignment() const
+
HorizontalAlignment::Type
ViewModel::GetHorizontalAlignment() const
{
return mModel->GetHorizontalAlignment();
}
{
return mModel->GetHorizontalAlignment();
}
-
Layout::VerticalAlignment
ViewModel::GetVerticalAlignment() const
+
VerticalAlignment::Type
ViewModel::GetVerticalAlignment() const
{
return mModel->GetVerticalAlignment();
}
{
return mModel->GetVerticalAlignment();
}
+DevelText::VerticalLineAlignment::Type ViewModel::GetVerticalLineAlignment() const
+{
+ return mModel->GetVerticalLineAlignment();
+}
+
bool ViewModel::IsTextElideEnabled() const
{
return mModel->IsTextElideEnabled();
bool ViewModel::IsTextElideEnabled() const
{
return mModel->IsTextElideEnabled();
@@
-148,6
+153,16
@@
const ColorIndex* const ViewModel::GetColorIndices() const
return mModel->GetColorIndices();
}
return mModel->GetColorIndices();
}
+const Vector4* const ViewModel::GetBackgroundColors() const
+{
+ return mModel->GetBackgroundColors();
+}
+
+const ColorIndex* const ViewModel::GetBackgroundColorIndices() const
+{
+ return mModel->GetBackgroundColorIndices();
+}
+
const Vector4& ViewModel::GetDefaultColor() const
{
return mModel->GetDefaultColor();
const Vector4& ViewModel::GetDefaultColor() const
{
return mModel->GetDefaultColor();
@@
-163,6
+178,11
@@
const Vector4& ViewModel::GetShadowColor() const
return mModel->GetShadowColor();
}
return mModel->GetShadowColor();
}
+const float& ViewModel::GetShadowBlurRadius() const
+{
+ return mModel->GetShadowBlurRadius();
+}
+
const Vector4& ViewModel::GetUnderlineColor() const
{
return mModel->GetUnderlineColor();
const Vector4& ViewModel::GetUnderlineColor() const
{
return mModel->GetUnderlineColor();
@@
-193,11
+213,21
@@
const Vector4& ViewModel::GetOutlineColor() const
return mModel->GetOutlineColor();
}
return mModel->GetOutlineColor();
}
-
floa
t ViewModel::GetOutlineWidth() const
+
uint16_
t ViewModel::GetOutlineWidth() const
{
return mModel->GetOutlineWidth();
}
{
return mModel->GetOutlineWidth();
}
+const Vector4& ViewModel::GetBackgroundColor() const
+{
+ return mModel->GetBackgroundColor();
+}
+
+bool ViewModel::IsBackgroundEnabled() const
+{
+ return mModel->IsBackgroundEnabled();
+}
+
void ViewModel::ElideGlyphs()
{
mIsTextElided = false;
void ViewModel::ElideGlyphs()
{
mIsTextElided = false;
@@
-277,7
+307,7
@@
void ViewModel::ElideGlyphs()
// Need to reshape the glyph as the font may be different in size.
const GlyphInfo& ellipsisGlyph = fontClient.GetEllipsisGlyph( fontClient.GetPointSize( glyphToRemove.fontId ) );
// Need to reshape the glyph as the font may be different in size.
const GlyphInfo& ellipsisGlyph = fontClient.GetEllipsisGlyph( fontClient.GetPointSize( glyphToRemove.fontId ) );
- if( !firstPenSet )
+ if( !firstPenSet
|| EqualsZero( glyphToRemove.advance )
)
{
const Vector2& position = *( elidedPositionsBuffer + index );
{
const Vector2& position = *( elidedPositionsBuffer + index );
@@
-294,7
+324,10
@@
void ViewModel::ElideGlyphs()
removedGlypsWidth = -ellipsisGlyph.xBearing;
removedGlypsWidth = -ellipsisGlyph.xBearing;
- firstPenSet = true;
+ if( !EqualsZero( firstPenX ) )
+ {
+ firstPenSet = true;
+ }
}
removedGlypsWidth += std::min( glyphToRemove.advance, ( glyphToRemove.xBearing + glyphToRemove.width ) );
}
removedGlypsWidth += std::min( glyphToRemove.advance, ( glyphToRemove.xBearing + glyphToRemove.width ) );
@@
-312,7
+345,6
@@
void ViewModel::ElideGlyphs()
glyphInfo = ellipsisGlyph;
// Change the 'x' and 'y' position of the ellipsis glyph.
glyphInfo = ellipsisGlyph;
// Change the 'x' and 'y' position of the ellipsis glyph.
-
if( position.x > firstPenX )
{
position.x = firstPenX + removedGlypsWidth - ellipsisGlyphWidth;
if( position.x > firstPenX )
{
position.x = firstPenX + removedGlypsWidth - ellipsisGlyphWidth;