550613460d9780a937d36d56644fdcf093a255e7
[platform/core/uifw/dali-adaptor.git] / text / dali / internal / text-abstraction / segmentation-impl.cpp
1 /*
2  * Copyright (c) 2015 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 "segmentation-impl.h"
20
21 // INTERNAL INCLUDES
22 #include <singleton-service-impl.h>
23
24 namespace Dali
25 {
26
27 namespace Internal
28 {
29
30 namespace TextAbstraction
31 {
32
33 Segmentation::Segmentation()
34 : mPlugin( NULL )
35 {
36
37 }
38
39 Segmentation::~Segmentation()
40 {
41
42 }
43
44 Dali::TextAbstraction::Segmentation Segmentation::Get()
45 {
46   Dali::TextAbstraction::Segmentation segmentationHandle;
47
48   Dali::SingletonService service( SingletonService::Get() );
49   if ( service )
50   {
51      // Check whether the singleton is already created
52      Dali::BaseHandle handle = service.GetSingleton( typeid( Dali::TextAbstraction::Segmentation ) );
53      if(handle)
54      {
55        // If so, downcast the handle
56        Segmentation* impl = dynamic_cast< Dali::Internal::TextAbstraction::Segmentation* >( handle.GetObjectPtr() );
57        segmentationHandle = Dali::TextAbstraction::Segmentation( impl );
58      }
59      else // create and register the object
60      {
61        segmentationHandle = Dali::TextAbstraction::Segmentation( new Segmentation);
62        service.Register( typeid( segmentationHandle ), segmentationHandle );
63      }
64    }
65
66    return segmentationHandle;
67 }
68
69 void Segmentation::GetLineBreakPositions( const Dali::TextAbstraction::Character* const text,
70                                           Dali::TextAbstraction::Length numberOfCharacters,
71                                           Dali::TextAbstraction::LineBreakInfo* breakInfo )
72 {
73 }
74
75 void Segmentation::GetWordBreakPositions( const Dali::TextAbstraction::Character* const text,
76                                           Dali::TextAbstraction::Length numberOfCharacters,
77                                           Dali::TextAbstraction::WordBreakInfo* breakInfo )
78 {
79 }
80
81 } // namespace TextAbstraction
82
83 } // namespace Internal
84
85 } // namespace Dali