X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=text%2Fdali%2Finternal%2Ftext-abstraction%2Ffont-client-impl.h;h=8620b98cfd82dce546017f87b07858f1669f0e27;hb=c1ece9681e525c1346d22485e36bc743abb23613;hp=2d5596dafcc6d272f914735bf9d18c4826f76677;hpb=016bef089075ab5caeb71ecd24d5fce082d2598a;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 2d5596d..8620b98 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. @@ -24,6 +24,9 @@ // INTERNAL INCLUDES #include + +struct FT_FaceRec_; + namespace Dali { @@ -51,117 +54,166 @@ public: ~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::SetDefaultFont() + * @copydoc Dali::TextAbstraction::FontClient::GetDefaultFontSize() */ - void SetDefaultFont( const FontDescription& fontDescription ); + int GetDefaultFontSize(); /** - * @copydoc Dali::FontClient::GetDefaultFonts() + * @copydoc Dali::TextAbstraction::FontClient::ResetSystemDefaults() + */ + void ResetSystemDefaults(); + + /** + * @copydoc Dali::TextAbstraction::FontClient::GetDefaultFonts() */ void GetDefaultFonts( FontList& defaultFonts ); /** - * @copydoc Dali::FontClient::GetDefaultPlatformFontDescription() + * @copydoc Dali::TextAbstraction::FontClient::GetDefaultPlatformFontDescription() */ void GetDefaultPlatformFontDescription( FontDescription& fontDescription ); /** - * @copydoc Dali::FontClient::GetSystemFonts() + * @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 pointSize, bool preferColor ); + FontId FindDefaultFont( Character charcode, + PointSize26Dot6 requestedPointSize, + bool preferColor ); /** - * @copydoc Dali::FontClient::FindFallbackFont() + * @copydoc Dali::TextAbstraction::FontClient::FindFallbackFont() */ - FontId FindFallbackFont( FontId preferredFont, 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 FontDescription& fontDescription, PointSize26Dot6 pointSize, FaceIndex faceIndex ) + * @copydoc Dali::TextAbstraction::FontClient::GetFontId( const FontDescription& fontDescription, PointSize26Dot6 requestedPointSize, FaceIndex faceIndex ) */ FontId GetFontId( const FontDescription& fontDescription, - PointSize26Dot6 pointSize, + 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 FontDescription& fontDescription ) + * @copydoc Dali::TextAbstraction::FontClient::IsScalable( const FontDescription& fontDescription ) */ 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() + * @copydoc Dali::TextAbstraction::FontClient::GetFixedSizes() */ void GetFixedSizes( const FontDescription& fontDescription, Dali::Vector< PointSize26Dot6 >& sizes ); /** - * @copydoc Dali::FontClient::GetFontMetrics() + * @copydoc Dali::TextAbstraction::FontClient::GetFontMetrics() */ - void GetFontMetrics( FontId fontId, FontMetrics& metrics, int maxFixedSize ); + void GetFontMetrics( FontId fontId, FontMetrics& metrics ); /** - * @copydoc Dali::FontClient::GetGlyphIndex() + * @copydoc Dali::TextAbstraction::FontClient::GetGlyphIndex() */ GlyphIndex GetGlyphIndex( FontId fontId, Character charcode ); /** - * @copydoc Dali::FontClient::GetGlyphMetrics() + * @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, bool softwareItalic, bool softwareBold, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth ) + */ + void CreateBitmap( FontId fontId, GlyphIndex glyphIndex, bool softwareItalic, bool softwareBold, 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, int maxFixedSize ); + 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 ); /** - * @copydoc Dali::FontClient::GetEllipsisGlyph() + * @brief Retrieves the pointer to the FreeType Font Face for the given @p fontId. + * + * @param[in] fontId The font id. + * + * @return The pointer to the FreeType Font Face. */ - const GlyphInfo& GetEllipsisGlyph( PointSize26Dot6 pointSize ); + FT_FaceRec_* GetFreetypeFace( FontId fontId ); private: @@ -174,7 +226,7 @@ private: FontClient( const FontClient& ); // Undefined assignment constructor. - FontClient& operator=( FontClient& ); + FontClient& operator=( const FontClient& ); private: @@ -207,4 +259,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