PushButton to use container Actor size not just ImageActors added to it
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / text-view / text-actor-cache.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 // CLASS HEADER
19 #include <dali-toolkit/internal/controls/text-view/text-actor-cache.h>
20
21 namespace Dali
22 {
23
24 namespace Toolkit
25 {
26
27 namespace Internal
28 {
29
30 TextActorCache::TextActorCache()
31 : mTextActors()
32 {
33 }
34
35 TextActorCache::~TextActorCache()
36 {
37 }
38
39 void TextActorCache::InsertTextActors( const std::vector<TextActor>& textActors )
40 {
41   mTextActors.insert( mTextActors.end(), textActors.rbegin(), textActors.rend() );
42 }
43
44 TextActor TextActorCache::RetrieveTextActor()
45 {
46   // Text-actors are inserted in the order needed to retrieve always the last one.
47
48   // Returns a non initialized handle if the cache is empty.
49   TextActor textActor;
50
51   if( !mTextActors.empty() )
52   {
53     textActor = mTextActors.back();
54     mTextActors.pop_back();
55   }
56
57   return textActor;
58 }
59
60 void TextActorCache::ClearTexts()
61 {
62   for( std::vector<TextActor>::iterator it = mTextActors.begin(); it != mTextActors.end(); ++it )
63   {
64     (*it).SetText("");
65   }
66 }
67
68 } // namespace Internal
69
70 } // namespace Toolkit
71
72 } // namespace Dali