2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 #include <dali-toolkit/internal/controls/text-view/text-view-processor-types.h>
30 namespace TextViewProcessor
37 GradientInfo::GradientInfo()
44 GradientInfo::~GradientInfo()
48 GradientInfo::GradientInfo( const GradientInfo& info )
49 : mGradientColor( info.mGradientColor ),
50 mStartPoint( info.mStartPoint ),
51 mEndPoint( info.mEndPoint )
55 GradientInfo& GradientInfo::operator=( const GradientInfo& info )
59 mGradientColor = info.mGradientColor;
60 mStartPoint = info.mStartPoint;
61 mEndPoint = info.mEndPoint;
67 CharacterLayoutInfo::CharacterLayoutInfo()
71 mUnderlineThickness( 0.f ),
72 mUnderlinePosition( 0.f ),
77 mGradientInfo( NULL ),
81 mIsColorGlyph( false ),
82 mIsRightToLeft( false )
86 CharacterLayoutInfo::~CharacterLayoutInfo()
88 // Deletes the gradient info.
92 CharacterLayoutInfo::CharacterLayoutInfo( const CharacterLayoutInfo& character )
93 : mSize( character.mSize ),
94 mBearing( character.mBearing ),
95 mAscender( character.mAscender ),
96 mUnderlineThickness( character.mUnderlineThickness ),
97 mUnderlinePosition( character.mUnderlinePosition ),
98 mPosition( character.mPosition ),
99 mOffset( character.mOffset ),
100 mGlyphActor( character.mGlyphActor ),
101 mColorAlpha( character.mColorAlpha ),
102 mGradientInfo( ( NULL == character.mGradientInfo ) ? NULL : new GradientInfo( *character.mGradientInfo ) ), // Copies the gradient info.
103 mIsVisible( character.mIsVisible ),
104 mSetText( character.mSetText ),
105 mSetStyle( character.mSetStyle ),
106 mIsColorGlyph( character.mIsColorGlyph ),
107 mIsRightToLeft( character.mIsRightToLeft )
111 CharacterLayoutInfo& CharacterLayoutInfo::operator=( const CharacterLayoutInfo& character )
113 mSize = character.mSize;
114 mAscender = character.mAscender;
115 mBearing = character.mBearing;
116 mUnderlineThickness = character.mUnderlineThickness;
117 mUnderlinePosition = character.mUnderlinePosition;
119 mPosition = character.mPosition;
120 mOffset = character.mOffset;
122 mGlyphActor = character.mGlyphActor;
124 mColorAlpha = character.mColorAlpha;
126 // Copies the gradient info.
127 if( NULL == character.mGradientInfo )
129 // The source doesn't have. Deletes the current one.
130 delete mGradientInfo;
131 mGradientInfo = NULL;
135 // The source has gradient info.
136 if( NULL != mGradientInfo )
138 // It it has, copy to it.
139 *mGradientInfo = *character.mGradientInfo;
143 // If it doesn't have, create a new one.
144 mGradientInfo = new GradientInfo( *character.mGradientInfo );
148 mIsVisible = character.mIsVisible;
149 mSetText = character.mSetText;
150 mSetStyle = character.mSetStyle;
151 mIsColorGlyph = character.mIsColorGlyph;
152 mIsRightToLeft = character.mIsRightToLeft;
157 } //namespace TextViewProcessor
159 } //namespace Internal
161 } //namespace Toolkit