-#ifndef __DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H__
-#define __DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H__
+#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.
+ * Copyright (c) 2017 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.
#include <dali/public-api/object/base-object.h>
// INTERNAL INCLUDES
-#include <dali/public-api/text-abstraction/font-client.h>
+#include <dali/devel-api/text-abstraction/font-client.h>
namespace Dali
{
~FontClient();
/**
- * @copydoc Dali::FontClient::Get()
+ * @copydoc Dali::TextAbstraction::FontClient::Get()
*/
static Dali::TextAbstraction::FontClient Get();
/**
- * @copydoc Dali::FontClient::SetDpi()
+ * @copydoc Dali::TextAbstraction::FontClient::ClearCache()
+ */
+ void ClearCache();
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::SetDpi()
*/
void SetDpi( unsigned int horizontalDpi, unsigned int verticalDpi );
/**
- * @copydoc Dali::FontClient::GetDpi()
+ * @copydoc Dali::TextAbstraction::FontClient::GetDpi()
*/
void GetDpi( unsigned int& horizontalDpi, unsigned int& verticalDpi );
/**
- * @copydoc Dali::FontClient::SetDefaultFontFamily()
+ * @copydoc Dali::TextAbstraction::FontClient::GetDefaultFontSize()
+ */
+ int GetDefaultFontSize();
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::ResetSystemDefaults()
*/
- void SetDefaultFontFamily( const std::string& fontFamilyName,
- const std::string& fontStyle );
+ void ResetSystemDefaults();
/**
- * @copydoc Dali::FontClient::GetDefaultFonts()
+ * @copydoc Dali::TextAbstraction::FontClient::GetDefaultFonts()
*/
void GetDefaultFonts( FontList& defaultFonts );
/**
- * @copydoc Dali::FontClient::GetSystemFonts()
+ * @copydoc Dali::TextAbstraction::FontClient::GetDefaultPlatformFontDescription()
+ */
+ void GetDefaultPlatformFontDescription( FontDescription& fontDescription );
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::GetSystemFonts()
*/
void GetSystemFonts( FontList& systemFonts );
/**
- * @copydoc Dali::FontClient::GetDescription()
+ * @copydoc Dali::TextAbstraction::FontClient::GetDescription()
*/
void GetDescription( FontId id, FontDescription& fontDescription );
/**
- * @copydoc Dali::FontClient::GetPointSize()
+ * @copydoc Dali::TextAbstraction::FontClient::GetPointSize()
*/
PointSize26Dot6 GetPointSize( FontId id );
/**
- * @copydoc Dali::FontClient::FindDefaultFont()
+ * @copydoc Dali::TextAbstraction::FontClient::IsCharacterSupportedByFont()
+ */
+ bool IsCharacterSupportedByFont( FontId fontId, Character character );
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::FindDefaultFont()
+ */
+ FontId FindDefaultFont( Character charcode,
+ PointSize26Dot6 requestedPointSize,
+ bool preferColor );
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::FindFallbackFont()
*/
- FontId FindDefaultFont( Character charcode, PointSize26Dot6 pointSize, bool preferColor );
+ FontId FindFallbackFont( Character charcode,
+ const FontDescription& preferredFontDescription,
+ PointSize26Dot6 requestedPointSize,
+ bool preferColor );
/**
- * @copydoc Dali::FontClient::GetFontId( const FontPath& path, PointSize26Dot6 pointSize, FaceIndex faceIndex )
+ * @copydoc Dali::TextAbstraction::FontClient::GetFontId( const FontPath& path, PointSize26Dot6 requestedPointSize, FaceIndex faceIndex )
*/
- FontId GetFontId( const FontPath& path, PointSize26Dot6 pointSize, FaceIndex faceIndex );
+ FontId GetFontId( const FontPath& path, PointSize26Dot6 requestedPointSize, FaceIndex faceIndex );
/**
- * @copydoc Dali::FontClient::GetFontId(const FontFamily& fontFamily, const FontStyle& fontStyle, PointSize26Dot6 pointSize, FaceIndex faceIndex )
+ * @copydoc Dali::TextAbstraction::FontClient::GetFontId( const FontDescription& fontDescription, PointSize26Dot6 requestedPointSize, FaceIndex faceIndex )
*/
- FontId GetFontId( const FontFamily& fontFamily,
- const FontStyle& fontStyle,
- PointSize26Dot6 pointSize,
+ FontId GetFontId( const FontDescription& fontDescription,
+ PointSize26Dot6 requestedPointSize,
FaceIndex faceIndex );
/**
- * @copydoc Dali::FontClient::IsScalable(const FontPath& path )
+ * @copydoc Dali::TextAbstraction::FontClient::IsScalable( const FontPath& path )
*/
bool IsScalable( const FontPath& path );
/**
- * @copydoc Dali::FontClient::IsScalable( const FontFamily& fontFamily, const FontStyle& fontStyle )
+ * @copydoc Dali::TextAbstraction::FontClient::IsScalable( const FontDescription& fontDescription )
*/
- bool IsScalable( const FontFamily& fontFamily, const FontStyle& style );
+ bool IsScalable( const FontDescription& fontDescription );
/**
- * @copydoc Dali::FontClient::GetFixedSizes( const FontPath& path, Dali::Vector< PointSize26Dot6>& sizes )
+ * @copydoc Dali::TextAbstraction::FontClient::GetFixedSizes( const FontPath& path, Dali::Vector< PointSize26Dot6>& sizes )
*/
void GetFixedSizes( const FontPath& path, Dali::Vector< PointSize26Dot6>& sizes );
/**
- * @copydoc Dali::FontClient::GetFixedSizes( const FontFamily& fontFamily, const FontStyle& fontStyle, Dali::Vector< PointSize26Dot6>& sizes )
+ * @copydoc Dali::TextAbstraction::FontClient::GetFixedSizes()
*/
- void GetFixedSizes( const FontFamily& fontFamily,
- const FontStyle& style,
+ void GetFixedSizes( const FontDescription& fontDescription,
Dali::Vector< PointSize26Dot6 >& sizes );
/**
- * @copydoc Dali::FontClient::GetFontMetrics()
+ * @copydoc Dali::TextAbstraction::FontClient::GetFontMetrics()
*/
void GetFontMetrics( FontId fontId, FontMetrics& metrics );
/**
- * @copydoc Dali::FontClient::GetGlyphIndex()
+ * @copydoc Dali::TextAbstraction::FontClient::GetGlyphIndex()
*/
GlyphIndex GetGlyphIndex( FontId fontId, Character charcode );
/**
- * @copydoc Dali::FontClient::CreateMetrics()
+ * @copydoc Dali::TextAbstraction::FontClient::GetGlyphMetrics()
+ */
+ bool GetGlyphMetrics( GlyphInfo* array, uint32_t size, GlyphType type, bool horizontal );
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::CreateBitmap( FontId fontId, GlyphIndex glyphIndex, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth )
+ */
+ void CreateBitmap( FontId fontId, GlyphIndex glyphIndex, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth );
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::CreateBitmap( FontId fontId, GlyphIndex glyphIndex, int outlineWidth )
+ */
+ PixelData CreateBitmap( FontId fontId, GlyphIndex glyphIndex, int outlineWidth );
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::CreateVectorBlob()
+ */
+ void CreateVectorBlob( FontId fontId, GlyphIndex glyphIndex, VectorBlob*& blob, unsigned int& blobLength, unsigned int& nominalWidth, unsigned int& nominalHeight );
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::GetEllipsisGlyph()
+ */
+ const GlyphInfo& GetEllipsisGlyph( PointSize26Dot6 requestedPointSize );
+
+ /**
+ * @copydoc Dali::TextAbstraction::FontClient::IsColorGlyph()
*/
- bool GetGlyphMetrics( GlyphInfo* array, uint32_t size, bool horizontal );
+ bool IsColorGlyph( FontId fontId, GlyphIndex glyphIndex );
/**
- * @copydoc Dali::FontClient::CreateBitmap()
+ * @copydoc Dali::TextAbstraction::FontClient::AddCustomFontDirectory()
*/
- BufferImage CreateBitmap( FontId fontId, GlyphIndex glyphIndex );
+ bool AddCustomFontDirectory( const FontPath& path );
private:
FontClient( const FontClient& );
// Undefined assignment constructor.
- FontClient& operator=( FontClient& );
+ FontClient& operator=( const FontClient& );
private:
} // namespace Dali
-#endif // __DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H__
+#endif // DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H