X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=text%2Fdali%2Finternal%2Ftext-abstraction%2Ffont-client-impl.h;h=9637531628957a64dd63f204230fe83f61935b3f;hb=refs%2Fchanges%2F43%2F153543%2F1;hp=d3c963cb2eebcd6735412c1a1f4d3bc8b287b11b;hpb=1bd34fb576e5ba31a01aae4313e40e4ca94b3efa;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/text/dali/internal/text-abstraction/font-client-impl.h b/text/dali/internal/text-abstraction/font-client-impl.h index d3c963c..9637531 100644 --- a/text/dali/internal/text-abstraction/font-client-impl.h +++ b/text/dali/internal/text-abstraction/font-client-impl.h @@ -1,8 +1,8 @@ -#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. @@ -22,7 +22,7 @@ #include // INTERNAL INCLUDES -#include +#include namespace Dali { @@ -51,100 +51,152 @@ public: ~FontClient(); /** - * @copydoc Dali::FontClient::Get() + * @copydoc Dali::TextAbstraction::FontClient::Get() */ static Dali::TextAbstraction::FontClient Get(); /** - * @copydoc Dali::FontClient::SetDpi() + * @copydoc Dali::TextAbstraction::FontClient::SetDpi() */ void SetDpi( unsigned int horizontalDpi, unsigned int verticalDpi ); /** - * @copydoc Dali::FontClient::SetDefaultFontFamily() + * @copydoc Dali::TextAbstraction::FontClient::GetDpi() */ - void SetDefaultFontFamily( const std::string& fontFamilyName, - const std::string& fontStyle ); + void GetDpi( unsigned int& horizontalDpi, unsigned int& verticalDpi ); /** - * @copydoc Dali::FontClient::GetDefaultFonts() + * @copydoc Dali::TextAbstraction::FontClient::GetDefaultFontSize() + */ + int GetDefaultFontSize(); + + /** + * @copydoc Dali::TextAbstraction::FontClient::ResetSystemDefaults() + */ + void ResetSystemDefaults(); + + /** + * @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 char* path ); private: @@ -157,7 +209,7 @@ private: FontClient( const FontClient& ); // Undefined assignment constructor. - FontClient& operator=( FontClient& ); + FontClient& operator=( const FontClient& ); private: @@ -190,4 +242,4 @@ inline static const Internal::FontClient& GetImplementation(const FontClient& fo } // namespace Dali -#endif // __DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H__ +#endif // DALI_INTERNAL_TEXT_ABSTRACTION_FONT_CLIENT_IMPL_H