X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=base%2Fdali-toolkit%2Finternal%2Fcontrols%2Ftext-view%2Ftext-view-character-processor.cpp;h=ddcf00fba3804506b02b873645f4205b5984b2c8;hb=2043281974fb8c9dddb45ee90d0e5af63ab48073;hp=c94db79e71ca657f08c14f4abd9bf6e2d3a0c96d;hpb=96d86697796ed385fa91e3319d0577ff8de92a17;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/base/dali-toolkit/internal/controls/text-view/text-view-character-processor.cpp b/base/dali-toolkit/internal/controls/text-view/text-view-character-processor.cpp index c94db79..ddcf00f 100644 --- a/base/dali-toolkit/internal/controls/text-view/text-view-character-processor.cpp +++ b/base/dali-toolkit/internal/controls/text-view/text-view-character-processor.cpp @@ -34,45 +34,71 @@ namespace TextViewProcessor // Layout info. ///////////////////// +GradientInfo::GradientInfo() +: mGradientColor(), + mStartPoint(), + mEndPoint() +{ +} + +GradientInfo::~GradientInfo() +{ +} + +GradientInfo::GradientInfo( const GradientInfo& info ) +: mGradientColor( info.mGradientColor ), + mStartPoint( info.mStartPoint ), + mEndPoint( info.mEndPoint ) +{ +} + +GradientInfo& GradientInfo::operator=( const GradientInfo& info ) +{ + if( this != &info ) + { + mGradientColor = info.mGradientColor; + mStartPoint = info.mStartPoint; + mEndPoint = info.mEndPoint; + } + + return *this; +} + CharacterLayoutInfo::CharacterLayoutInfo() -: mHeight( 0.f ), - mAdvance( 0.f ), +: mSize(), mBearing( 0.f ), - mPosition(), - mOffset(), - mSize(), mAscender( 0.f ), mUnderlineThickness( 0.f ), mUnderlinePosition( 0.f ), + mPosition(), + mOffset(), mGlyphActor(), - mStyledText(), mColorAlpha( 1.f ), - mGradientColor(), - mStartPoint(), - mEndPoint(), + mGradientInfo( NULL ), mIsVisible( true ), - mSetText( true ), - mSetStyle( true ), + mSetText( false ), + mSetStyle( false ), mIsColorGlyph( false ) { } +CharacterLayoutInfo::~CharacterLayoutInfo() +{ + // Deletes the gradient info. + delete mGradientInfo; +} + CharacterLayoutInfo::CharacterLayoutInfo( const CharacterLayoutInfo& character ) -: mHeight( character.mHeight ), - mAdvance( character.mAdvance ), +: mSize( character.mSize ), mBearing( character.mBearing ), - mPosition( character.mPosition ), - mOffset( character.mOffset ), - mSize( character.mSize ), mAscender( character.mAscender ), mUnderlineThickness( character.mUnderlineThickness ), mUnderlinePosition( character.mUnderlinePosition ), + mPosition( character.mPosition ), + mOffset( character.mOffset ), mGlyphActor( character.mGlyphActor ), - mStyledText( character.mStyledText ), mColorAlpha( character.mColorAlpha ), - mGradientColor( character.mGradientColor ), - mStartPoint( character.mStartPoint ), - mEndPoint( character.mEndPoint ), + mGradientInfo( ( NULL == character.mGradientInfo ) ? NULL : new GradientInfo( *character.mGradientInfo ) ), // Copies the gradient info. mIsVisible( character.mIsVisible ), mSetText( character.mSetText ), mSetStyle( character.mSetStyle ), @@ -82,29 +108,46 @@ CharacterLayoutInfo::CharacterLayoutInfo( const CharacterLayoutInfo& character ) CharacterLayoutInfo& CharacterLayoutInfo::operator=( const CharacterLayoutInfo& character ) { - mHeight = character.mHeight; - mAdvance = character.mAdvance; - mBearing = character.mBearing; - - mPosition = character.mPosition; - mOffset = character.mOffset; mSize = character.mSize; mAscender = character.mAscender; + mBearing = character.mBearing; mUnderlineThickness = character.mUnderlineThickness; mUnderlinePosition = character.mUnderlinePosition; - mStyledText = character.mStyledText; + mPosition = character.mPosition; + mOffset = character.mOffset; + + mGlyphActor = character.mGlyphActor; + mColorAlpha = character.mColorAlpha; - mGradientColor = character.mGradientColor; - mStartPoint = character.mStartPoint; - mEndPoint = character.mEndPoint; + + // Copies the gradient info. + if( NULL == character.mGradientInfo ) + { + // The source doesn't have. Deletes the current one. + delete mGradientInfo; + mGradientInfo = NULL; + } + else + { + // The source has gradient info. + if( NULL != mGradientInfo ) + { + // It it has, copy to it. + *mGradientInfo = *character.mGradientInfo; + } + else + { + // If it doesn't have, create a new one. + mGradientInfo = new GradientInfo( *character.mGradientInfo ); + } + } + mIsVisible = character.mIsVisible; mSetText = character.mSetText; mSetStyle = character.mSetStyle; mIsColorGlyph = character.mIsColorGlyph; - mGlyphActor = character.mGlyphActor; - return *this; }