Text abstraction framework 92/34192/8
authorNick Holland <nick.holland@partner.samsung.com>
Wed, 21 Jan 2015 18:01:57 +0000 (18:01 +0000)
committerNick Holland <nick.holland@partner.samsung.com>
Fri, 23 Jan 2015 15:21:31 +0000 (15:21 +0000)
Basic classes for shaping, reordering, font client and segmentation
Change-Id: Id8244c9e7853a41605f1fe8e597b852d5684b8a9

18 files changed:
build/tizen/adaptor/Makefile.am
text-abstraction/file.list [new file with mode: 0644]
text-abstraction/internal/font-client-impl.cpp [new file with mode: 0644]
text-abstraction/internal/font-client-impl.h [new file with mode: 0644]
text-abstraction/internal/reordering-impl.cpp [new file with mode: 0644]
text-abstraction/internal/reordering-impl.h [new file with mode: 0644]
text-abstraction/internal/segmentation-impl.cpp [new file with mode: 0644]
text-abstraction/internal/segmentation-impl.h [new file with mode: 0644]
text-abstraction/internal/shaping-impl.cpp [new file with mode: 0644]
text-abstraction/internal/shaping-impl.h [new file with mode: 0644]
text-abstraction/public-api/font-client.cpp [new file with mode: 0644]
text-abstraction/public-api/font-client.h [new file with mode: 0644]
text-abstraction/public-api/reordering.cpp [new file with mode: 0644]
text-abstraction/public-api/reordering.h [new file with mode: 0644]
text-abstraction/public-api/segmentation.cpp [new file with mode: 0644]
text-abstraction/public-api/segmentation.h [new file with mode: 0644]
text-abstraction/public-api/shaping.cpp [new file with mode: 0644]
text-abstraction/public-api/shaping.h [new file with mode: 0644]

index 4b017b3..4b224c4 100644 (file)
@@ -27,6 +27,10 @@ include ../../../adaptors/base/file.list
 slp_platform_abstraction_src_dir = ../../../platform-abstractions/slp
 include ../../../platform-abstractions/slp/file.list
 
+# Text Abstraction
+text_abstraction_src_dir = ../../../text-abstraction
+include ../../../text-abstraction/file.list
+
 # Internal Common
 adaptor_common_dir = ../../../adaptors/common
 include ../../../adaptors/common/file.list
@@ -164,6 +168,7 @@ lib_LTLIBRARIES = libdali-adaptor.la
 libdali_adaptor_la_SOURCES = \
                      $(base_adaptor_src_files) \
                      $(slp_platform_abstraction_src_files) \
+                     $(text_abstraction_src_files) \
                      $(public_api_src_files) \
                      $(adaptor_internal_src_files)
 
@@ -179,6 +184,7 @@ libdali_adaptor_la_includes = \
                       -I../../../adaptors/public-api \
                       -I../../../adaptors/public-api/adaptor-framework \
                       -I../../../adaptors/common \
+                      -I../../../text-abstraction \
                       -I../../../adaptors/
 if WAYLAND
 libdali_adaptor_la_includes += \
diff --git a/text-abstraction/file.list b/text-abstraction/file.list
new file mode 100644 (file)
index 0000000..d87305a
--- /dev/null
@@ -0,0 +1,12 @@
+# Add local source files here
+
+text_abstraction_src_files = \
+   $(text_abstraction_src_dir)/public-api/shaping.cpp \
+   $(text_abstraction_src_dir)/public-api/segmentation.cpp \
+   $(text_abstraction_src_dir)/public-api/reordering.cpp \
+   $(text_abstraction_src_dir)/public-api/font-client.cpp \
+   $(text_abstraction_src_dir)/internal/shaping-impl.cpp \
+   $(text_abstraction_src_dir)/internal/segmentation-impl.cpp \
+   $(text_abstraction_src_dir)/internal/reordering-impl.cpp \
+   $(text_abstraction_src_dir)/internal/font-client-impl.cpp
+
diff --git a/text-abstraction/internal/font-client-impl.cpp b/text-abstraction/internal/font-client-impl.cpp
new file mode 100644 (file)
index 0000000..b959a41
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS  HEADER
+#include "font-client-impl.h"
+
+// INTERNAL INCLUDES
+#include <singleton-service-impl.h>
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace TextAbstraction
+{
+
+
+FontClient::FontClient()
+:mPlugin(NULL)
+{
+
+}
+
+FontClient::~FontClient()
+{
+
+}
+
+Dali::TextAbstraction::FontClient FontClient::Get()
+{
+  Dali::TextAbstraction::FontClient fontClientHandle;
+
+  Dali::SingletonService service( SingletonService::Get() );
+  if ( service )
+  {
+     // Check whether the singleton is already created
+     Dali::BaseHandle handle = service.GetSingleton( typeid( Dali::TextAbstraction::FontClient ) );
+     if(handle)
+     {
+       // If so, downcast the handle
+       FontClient* impl = dynamic_cast< Dali::Internal::TextAbstraction::FontClient* >( handle.GetObjectPtr() );
+       fontClientHandle = Dali::TextAbstraction::FontClient( impl );
+     }
+     else // create and register the object
+     {
+       fontClientHandle = Dali::TextAbstraction::FontClient( new FontClient);
+       service.Register( typeid( fontClientHandle ), fontClientHandle );
+     }
+   }
+
+   return fontClientHandle;
+}
+
+} // namespace FontClient
+} // namespace Internal
+} // namespace Dali
diff --git a/text-abstraction/internal/font-client-impl.h b/text-abstraction/internal/font-client-impl.h
new file mode 100644 (file)
index 0000000..3529175
--- /dev/null
@@ -0,0 +1,92 @@
+#ifndef __DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H__
+#define __DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H__
+
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <public-api/font-client.h>
+#include <dali/public-api/object/base-object.h>
+
+
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace TextAbstraction
+{
+
+/**
+ * Implementation of the FontClient
+ */
+
+class FontClient :  public Dali::BaseObject
+{
+public:
+
+  /**
+   * Constructor
+   */
+  FontClient();
+
+  /**
+   * Destructor
+   */
+  ~FontClient();
+
+  /**
+   * @copydoc Dali::FontClient::Get()
+   */
+  static Dali::TextAbstraction::FontClient Get();
+
+private:
+
+  // Undefined copy constructor.
+  FontClient( const FontClient& );
+
+  // Undefined assignment constructor.
+  FontClient& operator=( FontClient& );
+
+  void* mPlugin; ///< TODO replace this with font client
+
+}; // class FontClient
+
+
+} // namespace TextAbstraction
+
+} // namespace Internal
+
+inline static Internal::TextAbstraction::FontClient& GetImplementation(Dali::TextAbstraction::FontClient& reordering)
+{
+  DALI_ASSERT_ALWAYS( reordering && "reordering handle is empty" );
+  BaseObject& handle = reordering.GetBaseObject();
+  return static_cast<Internal::TextAbstraction::FontClient&>(handle);
+}
+
+inline static const  Internal::TextAbstraction::FontClient& GetImplementation(const Dali::TextAbstraction::FontClient& reordering)
+{
+  DALI_ASSERT_ALWAYS( reordering && "reordering handle is empty" );
+  const BaseObject& handle = reordering.GetBaseObject();
+  return static_cast<const Internal::TextAbstraction::FontClient&>(handle);
+}
+
+} // namespace Dali
+
+#endif // __DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H__
diff --git a/text-abstraction/internal/reordering-impl.cpp b/text-abstraction/internal/reordering-impl.cpp
new file mode 100644 (file)
index 0000000..31a04ed
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS  HEADER
+#include "reordering-impl.h"
+
+// INTERNAL INCLUDES
+#include <singleton-service-impl.h>
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace TextAbstraction
+{
+
+
+Reordering::Reordering()
+:mPlugin(NULL)
+{
+
+}
+
+Reordering::~Reordering()
+{
+
+}
+
+Dali::TextAbstraction::Reordering Reordering::Get()
+{
+  Dali::TextAbstraction::Reordering reorderingHandle;
+
+  Dali::SingletonService service( SingletonService::Get() );
+  if ( service )
+  {
+     // Check whether the singleton is already created
+     Dali::BaseHandle handle = service.GetSingleton( typeid( Dali::TextAbstraction::Reordering ) );
+     if(handle)
+     {
+       // If so, downcast the handle
+       Reordering* impl = dynamic_cast< Dali::Internal::TextAbstraction::Reordering* >( handle.GetObjectPtr() );
+       reorderingHandle = Dali::TextAbstraction::Reordering( impl );
+     }
+     else // create and register the object
+     {
+       reorderingHandle = Dali::TextAbstraction::Reordering( new Reordering);
+       service.Register( typeid( reorderingHandle ), reorderingHandle );
+     }
+   }
+
+   return reorderingHandle;
+}
+
+} // namespace Reordering
+} // namespace Internal
+} // namespace Dali
diff --git a/text-abstraction/internal/reordering-impl.h b/text-abstraction/internal/reordering-impl.h
new file mode 100644 (file)
index 0000000..3ae89e3
--- /dev/null
@@ -0,0 +1,92 @@
+#ifndef __DALI_INTERNAL_TEXT_ABSTRACTION_REORDERING_IMPL_H__
+#define __DALI_INTERNAL_TEXT_ABSTRACTION_REORDERING_IMPL_H__
+
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <public-api/reordering.h>
+#include <dali/public-api/object/base-object.h>
+
+
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace TextAbstraction
+{
+
+/**
+ * Implementation of the Reordering
+ */
+
+class Reordering :  public Dali::BaseObject
+{
+public:
+
+  /**
+   * Constructor
+   */
+  Reordering();
+
+  /**
+   * Destructor
+   */
+  ~Reordering();
+
+  /**
+   * @copydoc Dali::Reordering::Get()
+   */
+  static Dali::TextAbstraction::Reordering Get();
+
+private:
+
+  // Undefined copy constructor.
+  Reordering( const Reordering& );
+
+  // Undefined assignment constructor.
+  Reordering& operator=( Reordering& );
+
+  void* mPlugin; ///< TODO replace this with reordering plugin
+
+}; // class Reordering
+
+
+} // namespace TextAbstraction
+
+} // namespace Internal
+
+inline static Internal::TextAbstraction::Reordering& GetImplementation(Dali::TextAbstraction::Reordering& reordering)
+{
+  DALI_ASSERT_ALWAYS( reordering && "reordering handle is empty" );
+  BaseObject& handle = reordering.GetBaseObject();
+  return static_cast<Internal::TextAbstraction::Reordering&>(handle);
+}
+
+inline static const  Internal::TextAbstraction::Reordering& GetImplementation(const Dali::TextAbstraction::Reordering& reordering)
+{
+  DALI_ASSERT_ALWAYS( reordering && "reordering handle is empty" );
+  const BaseObject& handle = reordering.GetBaseObject();
+  return static_cast<const Internal::TextAbstraction::Reordering&>(handle);
+}
+
+} // namespace Dali
+
+#endif // __DALI_INTERNAL_TEXT_ABSTRACTION_REORDERING_IMPL_H__
diff --git a/text-abstraction/internal/segmentation-impl.cpp b/text-abstraction/internal/segmentation-impl.cpp
new file mode 100644 (file)
index 0000000..5db3e28
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS  HEADER
+#include "segmentation-impl.h"
+
+// INTERNAL INCLUDES
+#include <singleton-service-impl.h>
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace TextAbstraction
+{
+
+
+Segmentation::Segmentation()
+:mPlugin(NULL)
+{
+
+}
+
+Segmentation::~Segmentation()
+{
+
+}
+
+Dali::TextAbstraction::Segmentation Segmentation::Get()
+{
+  Dali::TextAbstraction::Segmentation segmentationHandle;
+
+  Dali::SingletonService service( SingletonService::Get() );
+  if ( service )
+  {
+     // Check whether the singleton is already created
+     Dali::BaseHandle handle = service.GetSingleton( typeid( Dali::TextAbstraction::Segmentation ) );
+     if(handle)
+     {
+       // If so, downcast the handle
+       Segmentation* impl = dynamic_cast< Dali::Internal::TextAbstraction::Segmentation* >( handle.GetObjectPtr() );
+       segmentationHandle = Dali::TextAbstraction::Segmentation( impl );
+     }
+     else // create and register the object
+     {
+       segmentationHandle = Dali::TextAbstraction::Segmentation( new Segmentation);
+       service.Register( typeid( segmentationHandle ), segmentationHandle );
+     }
+   }
+
+   return segmentationHandle;
+}
+
+} // namespace Segmentation
+} // namespace Internal
+} // namespace Dali
diff --git a/text-abstraction/internal/segmentation-impl.h b/text-abstraction/internal/segmentation-impl.h
new file mode 100644 (file)
index 0000000..fbb67ac
--- /dev/null
@@ -0,0 +1,92 @@
+#ifndef __DALI_INTERNAL_TEXT_ABSTRACTION_SEGMENTATION_IMPL_H__
+#define __DALI_INTERNAL_TEXT_ABSTRACTION_SEGMENTATION_IMPL_H__
+
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <public-api/segmentation.h>
+#include <dali/public-api/object/base-object.h>
+
+
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace TextAbstraction
+{
+
+/**
+ * Implementation of the Segmentation
+ */
+
+class Segmentation :  public Dali::BaseObject
+{
+public:
+
+  /**
+   * Constructor
+   */
+  Segmentation();
+
+  /**
+   * Destructor
+   */
+  ~Segmentation();
+
+  /**
+   * @copydoc Dali::Segmentation::Get()
+   */
+  static Dali::TextAbstraction::Segmentation Get();
+
+private:
+
+  // Undefined copy constructor.
+  Segmentation( const Segmentation& );
+
+  // Undefined assignment constructor.
+  Segmentation& operator=( Segmentation& );
+
+  void* mPlugin; ///< TODO replace this with segmentation plugin
+
+}; // class Segmentation
+
+
+} // namespace TextAbstraction
+
+} // namespace Internal
+
+inline static Internal::TextAbstraction::Segmentation& GetImplementation(Dali::TextAbstraction::Segmentation& reordering)
+{
+  DALI_ASSERT_ALWAYS( reordering && "reordering handle is empty" );
+  BaseObject& handle = reordering.GetBaseObject();
+  return static_cast<Internal::TextAbstraction::Segmentation&>(handle);
+}
+
+inline static const  Internal::TextAbstraction::Segmentation& GetImplementation(const Dali::TextAbstraction::Segmentation& reordering)
+{
+  DALI_ASSERT_ALWAYS( reordering && "reordering handle is empty" );
+  const BaseObject& handle = reordering.GetBaseObject();
+  return static_cast<const Internal::TextAbstraction::Segmentation&>(handle);
+}
+
+} // namespace Dali
+
+#endif // __DALI_INTERNAL_TEXT_ABSTRACTION_SEGMENTATION_IMPL_H__
diff --git a/text-abstraction/internal/shaping-impl.cpp b/text-abstraction/internal/shaping-impl.cpp
new file mode 100644 (file)
index 0000000..20cd3f2
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS  HEADER
+#include "shaping-impl.h"
+
+// INTERNAL INCLUDES
+#include <singleton-service-impl.h>
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace TextAbstraction
+{
+
+
+Shaping::Shaping()
+:mPlugin(NULL)
+{
+
+}
+
+Shaping::~Shaping()
+{
+
+}
+
+Dali::TextAbstraction::Shaping Shaping::Get()
+{
+  Dali::TextAbstraction::Shaping shapingHandle;
+
+  Dali::SingletonService service( SingletonService::Get() );
+  if ( service )
+  {
+     // Check whether the singleton is already created
+     Dali::BaseHandle handle = service.GetSingleton( typeid( Dali::TextAbstraction::Shaping ) );
+     if(handle)
+     {
+       // If so, downcast the handle
+       Shaping* impl = dynamic_cast< Dali::Internal::TextAbstraction::Shaping* >( handle.GetObjectPtr() );
+       shapingHandle = Dali::TextAbstraction::Shaping( impl );
+     }
+     else // create and register the object
+     {
+       shapingHandle = Dali::TextAbstraction::Shaping( new Shaping);
+       service.Register( typeid( shapingHandle ), shapingHandle );
+     }
+   }
+
+   return shapingHandle;
+}
+
+} // namespace Shaping
+} // namespace Internal
+} // namespace Dali
diff --git a/text-abstraction/internal/shaping-impl.h b/text-abstraction/internal/shaping-impl.h
new file mode 100644 (file)
index 0000000..85bf4ab
--- /dev/null
@@ -0,0 +1,92 @@
+#ifndef __DALI_INTERNAL_TEXT_ABSTRACTION_SHAPING_IMPL_H__
+#define __DALI_INTERNAL_TEXT_ABSTRACTION_SHAPING_IMPL_H__
+
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// EXTERNAL INCLUDES
+#include <public-api/shaping.h>
+#include <dali/public-api/object/base-object.h>
+
+
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace TextAbstraction
+{
+
+/**
+ * Implementation of the Shaping
+ */
+
+class Shaping :  public Dali::BaseObject
+{
+public:
+
+  /**
+   * Constructor
+   */
+  Shaping();
+
+  /**
+   * Destructor
+   */
+  ~Shaping();
+
+  /**
+   * @copydoc Dali::Shaping::Get()
+   */
+  static Dali::TextAbstraction::Shaping Get();
+
+private:
+
+  // Undefined copy constructor.
+  Shaping( const Shaping& );
+
+  // Undefined assignment constructor.
+  Shaping& operator=( Shaping& );
+
+  void*   mPlugin;  ///< TODO replace this with shaping plugin
+
+}; // class Shaping
+
+
+} // namespace TextAbstraction
+
+} // namespace Internal
+
+inline static Internal::TextAbstraction::Shaping& GetImplementation(Dali::TextAbstraction::Shaping& shaping)
+{
+  DALI_ASSERT_ALWAYS( shaping && "shaping handle is empty" );
+  BaseObject& handle = shaping.GetBaseObject();
+  return static_cast<Internal::TextAbstraction::Shaping&>(handle);
+}
+
+inline static const  Internal::TextAbstraction::Shaping& GetImplementation(const Dali::TextAbstraction::Shaping& shaping)
+{
+  DALI_ASSERT_ALWAYS( shaping && "shaping handle is empty" );
+  const BaseObject& handle = shaping.GetBaseObject();
+  return static_cast<const Internal::TextAbstraction::Shaping&>(handle);
+}
+
+} // namespace Dali
+
+#endif // __DALI_INTERNAL_TEXT_ABSTRACTION_SHAPING_IMPL_H__
diff --git a/text-abstraction/public-api/font-client.cpp b/text-abstraction/public-api/font-client.cpp
new file mode 100644 (file)
index 0000000..7dbb742
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS HEADER
+#include "font-client.h"
+
+// INTERNAL INCLUDES
+#include <internal/font-client-impl.h>
+
+namespace Dali
+{
+
+namespace TextAbstraction
+{
+
+FontClient::FontClient()
+{
+}
+FontClient::~FontClient()
+{
+}
+FontClient::FontClient(Dali::Internal::TextAbstraction::FontClient *impl)
+  : BaseHandle(impl)
+{
+}
+
+FontClient FontClient::Get()
+{
+  return Dali::Internal::TextAbstraction::FontClient::Get();
+}
+
+
+} // namespace TextAbstraction
+
+} // namespace Dali
diff --git a/text-abstraction/public-api/font-client.h b/text-abstraction/public-api/font-client.h
new file mode 100644 (file)
index 0000000..9cd6850
--- /dev/null
@@ -0,0 +1,80 @@
+#ifndef __DALI_PLATFORM_TEXT_ABSTRACTION_FONT_CLIENT_H__
+#define __DALI_PLATFORM_TEXT_ABSTRACTION_FONT_CLIENT_H__
+
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <dali/public-api/object/base-handle.h>
+
+namespace Dali
+{
+
+namespace Internal DALI_INTERNAL
+{
+
+namespace TextAbstraction
+{
+class FontClient;
+} // TextAbstraction
+} // Internal
+
+namespace TextAbstraction
+{
+
+
+/**
+ *   FontClient API
+ *
+ */
+class DALI_IMPORT_API FontClient : public BaseHandle
+{
+
+public:
+
+    /**
+     * @brief Create an uninitialized TextAbstraction handle.
+     *
+     */
+    FontClient();
+
+    /**
+     * @brief Destructor
+     *
+     * This is non-virtual since derived Handle types must not contain data or virtual methods.
+     */
+    ~FontClient();
+
+    /**
+     * @brief This constructor is used by FontClient::Get().
+     *
+     * @param[in] fontClient  A pointer to the internal fontClient object.
+     */
+    explicit DALI_INTERNAL FontClient( Dali::Internal::TextAbstraction::FontClient* fontClient);
+
+    /**
+     * @brief Retrieve a handle to the FontClient instance.
+     *
+     * @return A handle to the FontClient
+     */
+    static FontClient Get();
+
+};
+
+} // namespace TextAbstraction
+
+} // namespace Dali
+
+#endif // __DALI_PLATFORM_TEXT_ABSTRACTION_FONT_CLIENT_H__
diff --git a/text-abstraction/public-api/reordering.cpp b/text-abstraction/public-api/reordering.cpp
new file mode 100644 (file)
index 0000000..04c6a26
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS HEADER
+#include "reordering.h"
+
+// INTERNAL INCLUDES
+#include <internal/reordering-impl.h>
+
+namespace Dali
+{
+
+namespace TextAbstraction
+{
+
+Reordering::Reordering()
+{
+}
+Reordering::~Reordering()
+{
+}
+Reordering::Reordering(Dali::Internal::TextAbstraction::Reordering *impl)
+  : BaseHandle(impl)
+{
+}
+
+Reordering Reordering::Get()
+{
+  return Dali::Internal::TextAbstraction::Reordering::Get();
+}
+
+
+
+} // namespace TextAbstraction
+
+} // namespace Dali
diff --git a/text-abstraction/public-api/reordering.h b/text-abstraction/public-api/reordering.h
new file mode 100644 (file)
index 0000000..3513776
--- /dev/null
@@ -0,0 +1,81 @@
+#ifndef __DALI_PLATFORM_TEXT_ABSTRACTION_REORDERING_H__
+#define __DALI_PLATFORM_TEXT_ABSTRACTION_REORDERING_H__
+
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <dali/public-api/object/base-handle.h>
+
+namespace Dali
+{
+
+namespace Internal DALI_INTERNAL
+{
+
+namespace TextAbstraction
+{
+class Reordering;
+} // TextAbstraction
+} // Internal
+
+namespace TextAbstraction
+{
+
+
+/**
+ *   Reordering API
+ *
+ */
+class DALI_IMPORT_API Reordering : public BaseHandle
+{
+
+public:
+
+    /**
+     * @brief Create an uninitialized TextAbstraction handle.
+     *
+     */
+    Reordering();
+
+    /**
+     * @brief Destructor
+     *
+     * This is non-virtual since derived Handle types must not contain data or virtual methods.
+     */
+    ~Reordering();
+
+    /**
+     * @brief This constructor is used by Reordering::Get().
+     *
+     * @param[in] reordering a pointer to the internal reordering object.
+     */
+    explicit DALI_INTERNAL Reordering( Dali::Internal::TextAbstraction::Reordering* reordering);
+
+    /**
+     * @brief Retrieve a handle to the Reordering instance.
+     *
+     * @return A handle to the Reordering
+     */
+    static Reordering Get();
+
+
+};
+
+} // namespace TextAbstraction
+
+} // namespace Dali
+
+#endif // __DALI_PLATFORM_TEXT_ABSTRACTION_REORDERING_H__
diff --git a/text-abstraction/public-api/segmentation.cpp b/text-abstraction/public-api/segmentation.cpp
new file mode 100644 (file)
index 0000000..d502f56
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS HEADER
+#include "segmentation.h"
+
+// INTERNAL INCLUDES
+#include <internal/segmentation-impl.h>
+
+namespace Dali
+{
+
+namespace TextAbstraction
+{
+
+Segmentation::Segmentation()
+{
+}
+Segmentation::~Segmentation()
+{
+}
+Segmentation::Segmentation(Dali::Internal::TextAbstraction::Segmentation *impl)
+  : BaseHandle(impl)
+{
+}
+
+Segmentation Segmentation::Get()
+{
+  return Dali::Internal::TextAbstraction::Segmentation::Get();
+}
+
+} // namespace TextAbstraction
+
+} // namespace Dali
diff --git a/text-abstraction/public-api/segmentation.h b/text-abstraction/public-api/segmentation.h
new file mode 100644 (file)
index 0000000..16f88b6
--- /dev/null
@@ -0,0 +1,80 @@
+#ifndef __DALI_PLATFORM_TEXT_ABSTRACTION_SEGMENTATION_H__
+#define __DALI_PLATFORM_TEXT_ABSTRACTION_SEGMENTATION_H__
+
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <dali/public-api/object/base-handle.h>
+
+namespace Dali
+{
+
+namespace Internal DALI_INTERNAL
+{
+
+namespace TextAbstraction
+{
+class Segmentation;
+} // TextAbstraction
+} // Internal
+
+namespace TextAbstraction
+{
+
+
+/**
+ *   Segmentation API
+ *
+ */
+class DALI_IMPORT_API Segmentation : public BaseHandle
+{
+
+public:
+
+    /**
+     * @brief Create an uninitialized TextAbstraction handle.
+     *
+     */
+    Segmentation();
+
+    /**
+     * @brief Destructor
+     *
+     * This is non-virtual since derived Handle types must not contain data or virtual methods.
+     */
+    ~Segmentation();
+
+    /**
+     * @brief This constructor is used by Segmentation::Get().
+     *
+     * @param[in] segmentation  A pointer to the internal segmentation object.
+     */
+    explicit DALI_INTERNAL Segmentation( Dali::Internal::TextAbstraction::Segmentation* segmentation);
+
+    /**
+     * @brief Retrieve a handle to the Segmentation instance.
+     *
+     * @return A handle to the Segmentation
+     */
+    static Segmentation Get();
+
+};
+
+} // namespace TextAbstraction
+
+} // namespace Dali
+
+#endif // __DALI_PLATFORM_TEXT_ABSTRACTION_SEGMENTATION_H__
diff --git a/text-abstraction/public-api/shaping.cpp b/text-abstraction/public-api/shaping.cpp
new file mode 100644 (file)
index 0000000..8d94e8b
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// CLASS HEADER
+#include "shaping.h"
+
+// INTERNAL INCLUDES
+#include <internal/shaping-impl.h>
+
+namespace Dali
+{
+
+namespace TextAbstraction
+{
+
+Shaping::Shaping()
+{
+}
+Shaping::~Shaping()
+{
+}
+Shaping::Shaping(Dali::Internal::TextAbstraction::Shaping *impl)
+  : BaseHandle(impl)
+{
+}
+
+Shaping Shaping::Get()
+{
+  return Dali::Internal::TextAbstraction::Shaping::Get();
+}
+
+
+} // namespace TextAbstraction
+
+} // namespace Dali
diff --git a/text-abstraction/public-api/shaping.h b/text-abstraction/public-api/shaping.h
new file mode 100644 (file)
index 0000000..2d59681
--- /dev/null
@@ -0,0 +1,80 @@
+#ifndef __DALI_PLATFORM_TEXT_ABSTRACTION_SHAPING_H__
+#define __DALI_PLATFORM_TEXT_ABSTRACTION_SHAPING_H__
+
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <dali/public-api/object/base-handle.h>
+
+namespace Dali
+{
+
+namespace Internal DALI_INTERNAL
+{
+
+namespace TextAbstraction
+{
+class Shaping;
+} // TextAbstraction
+} // Internal
+
+namespace TextAbstraction
+{
+
+
+/**
+ *   Shaping API
+ *
+ */
+class DALI_IMPORT_API Shaping : public BaseHandle
+{
+
+public:
+
+    /**
+     * @brief Create an uninitialized TextAbstraction handle.
+     *
+     */
+    Shaping();
+
+    /**
+     * @brief Destructor
+     *
+     * This is non-virtual since derived Handle types must not contain data or virtual methods.
+     */
+    ~Shaping();
+
+    /**
+     * @brief This constructor is used by Shaping::Get().
+     *
+     * @param[in] shaping  A pointer to the internal shaping object.
+     */
+    explicit DALI_INTERNAL Shaping( Dali::Internal::TextAbstraction::Shaping* shaping);
+
+    /**
+     * @brief Retrieve a handle to the Shaping instance.
+     *
+     * @return A handle to the Shaping
+     */
+    static Shaping Get();
+
+};
+
+} // namespace TextAbstraction
+
+} // namespace Dali
+
+#endif // __DALI_PLATFORM_TEXT_ABSTRACTION_SHAPING_H__