2 * Copyright (c) 2015 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/public-api/text/logical-model.h>
33 struct LogicalModel::Impl
35 Vector<Character> mText;
38 LogicalModelPtr LogicalModel::New()
40 return LogicalModelPtr( new LogicalModel() );
43 void LogicalModel::SetText( const Character* text, Length length )
45 Vector<Character>& modelText = mImpl->mText;
46 modelText.Resize( length );
47 memcpy( &modelText[0], text, length*sizeof(Character) );
50 Length LogicalModel::GetNumberOfCharacters() const
52 return mImpl->mText.Count();
55 void LogicalModel::GetText( CharacterIndex characterIndex, Character* text, Length numberOfCharacters ) const
57 Vector<Character>& modelText = mImpl->mText;
58 memcpy( text, &modelText[characterIndex], numberOfCharacters*sizeof(Character) );
61 LogicalModel::~LogicalModel()
65 LogicalModel::LogicalModel()
68 mImpl = new LogicalModel::Impl();
73 } // namespace Toolkit