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 ),
78 mGradientInfo( NULL ),
82 mIsColorGlyph( 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 mStyledText( character.mStyledText ),
102 mColorAlpha( character.mColorAlpha ),
103 mGradientInfo( ( NULL == character.mGradientInfo ) ? NULL : new GradientInfo( *character.mGradientInfo ) ), // Copies the gradient info.
104 mIsVisible( character.mIsVisible ),
105 mSetText( character.mSetText ),
106 mSetStyle( character.mSetStyle ),
107 mIsColorGlyph( character.mIsColorGlyph )
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;
123 mStyledText = character.mStyledText;
125 mColorAlpha = character.mColorAlpha;
127 // Copies the gradient info.
128 if( NULL == character.mGradientInfo )
130 // The source doesn't have. Deletes the current one.
131 delete mGradientInfo;
132 mGradientInfo = NULL;
136 // The source has gradient info.
137 if( NULL != mGradientInfo )
139 // It it has, copy to it.
140 *mGradientInfo = *character.mGradientInfo;
144 // If it doesn't have, create a new one.
145 mGradientInfo = new GradientInfo( *character.mGradientInfo );
149 mIsVisible = character.mIsVisible;
150 mSetText = character.mSetText;
151 mSetStyle = character.mSetStyle;
152 mIsColorGlyph = character.mIsColorGlyph;
157 } //namespace TextViewProcessor
159 } //namespace Internal
161 } //namespace Toolkit