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
Merge "Fixed crash issue by null reference" into devel/master
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
text
/
visual-model-impl.cpp
diff --git
a/dali-toolkit/internal/text/visual-model-impl.cpp
b/dali-toolkit/internal/text/visual-model-impl.cpp
index
3e9c123
..
1b114c4
100644
(file)
--- a/
dali-toolkit/internal/text/visual-model-impl.cpp
+++ b/
dali-toolkit/internal/text/visual-model-impl.cpp
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (c) 201
5
Samsung Electronics Co., Ltd.
+ * Copyright (c) 201
7
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.
@@
-36,6
+36,7
@@
VisualModelPtr VisualModel::New()
}
void VisualModel::CreateCharacterToGlyphTable( CharacterIndex startIndex,
}
void VisualModel::CreateCharacterToGlyphTable( CharacterIndex startIndex,
+ GlyphIndex startGlyphIndex,
Length numberOfCharacters )
{
if( 0u == numberOfCharacters )
Length numberOfCharacters )
{
if( 0u == numberOfCharacters )
@@
-72,7
+73,6
@@
void VisualModel::CreateCharacterToGlyphTable( CharacterIndex startIndex,
// 2) Traverse the glyphs and set the glyph indices per character.
// Index to the glyph.
// 2) Traverse the glyphs and set the glyph indices per character.
// Index to the glyph.
- const GlyphIndex startGlyphIndex = updateCurrentBuffer ? *( mCharactersToGlyph.Begin() + startIndex ) : 0u;
GlyphIndex glyphIndex = startGlyphIndex;
CharacterIndex characterIndex = startIndex;
const CharacterIndex lastCharacterIndexPlusOne = startIndex + numberOfCharacters;
GlyphIndex glyphIndex = startGlyphIndex;
CharacterIndex characterIndex = startIndex;
const CharacterIndex lastCharacterIndexPlusOne = startIndex + numberOfCharacters;
@@
-115,6
+115,7
@@
void VisualModel::CreateCharacterToGlyphTable( CharacterIndex startIndex,
}
void VisualModel::CreateGlyphsPerCharacterTable( CharacterIndex startIndex,
}
void VisualModel::CreateGlyphsPerCharacterTable( CharacterIndex startIndex,
+ GlyphIndex startGlyphIndex,
Length numberOfCharacters )
{
if( 0u == numberOfCharacters )
Length numberOfCharacters )
{
if( 0u == numberOfCharacters )
@@
-146,14
+147,12
@@
void VisualModel::CreateGlyphsPerCharacterTable( CharacterIndex startIndex,
// 2) Traverse the glyphs and set the number of glyphs per character.
// 2) Traverse the glyphs and set the number of glyphs per character.
- // The glyph index.
- const GlyphIndex glyphIndex = updateCurrentBuffer ? *( mCharactersToGlyph.Begin() + startIndex ) : 0u;
Length traversedCharacters = 0;
// The number of 'characters per glyph' equal to zero.
Length zeroCharactersPerGlyph = 0u;
Length traversedCharacters = 0;
// The number of 'characters per glyph' equal to zero.
Length zeroCharactersPerGlyph = 0u;
- for( Vector<Length>::ConstIterator it = mCharactersPerGlyph.Begin() +
g
lyphIndex,
+ for( Vector<Length>::ConstIterator it = mCharactersPerGlyph.Begin() +
startG
lyphIndex,
endIt = mCharactersPerGlyph.End();
( it != endIt ) && ( traversedCharacters < numberOfCharacters );
++it )
endIt = mCharactersPerGlyph.End();
( it != endIt ) && ( traversedCharacters < numberOfCharacters );
++it )
@@
-315,14
+314,14
@@
const Vector2& VisualModel::GetNaturalSize() const
return mNaturalSize;
}
return mNaturalSize;
}
-void VisualModel::Set
Actual
Size( const Vector2& size )
+void VisualModel::Set
Layout
Size( const Vector2& size )
{
{
- m
Actual
Size = size;
+ m
Layout
Size = size;
}
}
-const Vector2& VisualModel::Get
Actual
Size() const
+const Vector2& VisualModel::Get
Layout
Size() const
{
{
- return m
Actual
Size;
+ return m
Layout
Size;
}
void VisualModel::SetTextColor( const Vector4& textColor )
}
void VisualModel::SetTextColor( const Vector4& textColor )
@@
-391,6
+390,11
@@
float VisualModel::GetUnderlineHeight() const
return mUnderlineHeight;
}
return mUnderlineHeight;
}
+Length VisualModel::GetNumberOfUnderlineRuns() const
+{
+ return mUnderlineRuns.Count();
+}
+
void VisualModel::ClearCaches()
{
mCachedLineIndex = 0u;
void VisualModel::ClearCaches()
{
mCachedLineIndex = 0u;
@@
-411,10
+415,11
@@
VisualModel::VisualModel()
mTextColor( Color::BLACK ),
mShadowColor( Color::BLACK ),
mUnderlineColor( Color::BLACK ),
mTextColor( Color::BLACK ),
mShadowColor( Color::BLACK ),
mUnderlineColor( Color::BLACK ),
- mShadowOffset( Vector2::ZERO ),
+ mControlSize(),
+ mShadowOffset(),
mUnderlineHeight( 0.0f ),
mNaturalSize(),
mUnderlineHeight( 0.0f ),
mNaturalSize(),
- m
Actual
Size(),
+ m
Layout
Size(),
mCachedLineIndex( 0u ),
mUnderlineEnabled( false ),
mUnderlineColorSet( false )
mCachedLineIndex( 0u ),
mUnderlineEnabled( false ),
mUnderlineColorSet( false )