/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
}
return bidirectionalSupportHandle;
}
- BidiInfoIndex CreateInfo( const Character* const paragraph, Length numberOfCharacters ){return 0;}
+ BidiInfoIndex CreateInfo( const Character* const paragraph, Length numberOfCharacters,
+ bool matchSystemLanguageDirection, LayoutDirection::Type layoutDirection ){return 0;}
void DestroyInfo( BidiInfoIndex bidiInfoIndex )
{
{
public:
FontClient()
- : mDpiHorizontal( 0 ),
- mDpiVertical( 0 )
+ : mGlyphInfo()
{
}
void GetFontMetrics( FontId fontId, FontMetrics& metrics ){}
GlyphIndex GetGlyphIndex( FontId fontId, Character charcode ){return 0;}
bool GetGlyphMetrics( GlyphInfo* array, uint32_t size, bool horizontal ){return true;}
- PixelData CreateBitmap( FontId fontId, GlyphIndex glyphIndex ){return PixelData();}
+ void CreateBitmap( FontId fontId, GlyphIndex glyphIndex, bool softwareItailc, bool softwareBold, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth ){}
+ PixelData CreateBitmap( FontId fontId, GlyphIndex glyphIndex, int outlineWidth ){return PixelData();}
void CreateVectorBlob( FontId fontId, GlyphIndex glyphIndex, VectorBlob*& blob,
unsigned int& blobLength, unsigned int& nominalWidth, unsigned int& nominalHeight )
{
blobLength = 0;
}
const GlyphInfo& GetEllipsisGlyph( PointSize26Dot6 pointSize ){return mGlyphInfo;}
+ bool IsColorGlyph( FontId fontId, GlyphIndex glyphIndex ){return false;}
private:
- unsigned int mDpiHorizontal;
- unsigned int mDpiVertical;
GlyphInfo mGlyphInfo;
}; // class FontClient
class Shaping : public BaseObject
{
public:
- Shaping() : mText(NULL)
- {}
+ Shaping()
+ : mText( NULL ),
+ mNumChars( 0 )
+ {
+ }
~Shaping()
{
return static_cast<TextAbstraction::Internal::FontClient&>(handle);
}
-inline static const TextAbstraction::Internal::FontClient& GetImplementation(const TextAbstraction::FontClient& fontClient)
-{
- DALI_ASSERT_ALWAYS( fontClient && "fontClient handle is empty" );
- const BaseObject& handle = fontClient.GetBaseObject();
- return static_cast<const TextAbstraction::Internal::FontClient&>(handle);
-}
-
inline static TextAbstraction::Internal::Shaping& GetImplementation(TextAbstraction::Shaping& shaping)
{
DALI_ASSERT_ALWAYS( shaping && "shaping handle is empty" );
return static_cast<TextAbstraction::Internal::Shaping&>(handle);
}
-inline static const TextAbstraction::Internal::Shaping& GetImplementation(const TextAbstraction::Shaping& shaping)
-{
- DALI_ASSERT_ALWAYS( shaping && "shaping handle is empty" );
- const BaseObject& handle = shaping.GetBaseObject();
- return static_cast<const TextAbstraction::Internal::Shaping&>(handle);
-}
-
////////////////////////////////////////////////////////////////////////////////
/******************************************************************************/
}
BidiInfoIndex BidirectionalSupport::CreateInfo( const Character* const paragraph,
- Length numberOfCharacters )
+ Length numberOfCharacters,
+ bool matchSystemLanguageDirection,
+ LayoutDirection::Type layoutDirection )
{
- return GetImplementation( *this ).CreateInfo( paragraph, numberOfCharacters );
+ return GetImplementation( *this ).CreateInfo( paragraph, numberOfCharacters, matchSystemLanguageDirection, layoutDirection );
}
void BidirectionalSupport::DestroyInfo( BidiInfoIndex bidiInfoIndex )
{
}
+FontClient::GlyphBufferData::GlyphBufferData()
+{
+}
+
+FontClient::GlyphBufferData::~GlyphBufferData()
+{
+}
+
FontClient& FontClient::operator=( const FontClient& handle )
{
BaseHandle::operator=( handle );
return GetImplementation(*this).GetGlyphMetrics( array, size, horizontal );
}
-PixelData FontClient::CreateBitmap( FontId fontId, GlyphIndex glyphIndex )
+void FontClient::CreateBitmap( FontId fontId, GlyphIndex glyphIndex, bool softwareItailc, bool softwareBold, Dali::TextAbstraction::FontClient::GlyphBufferData& data, int outlineWidth )
{
- return GetImplementation(*this).CreateBitmap( fontId, glyphIndex );
+ GetImplementation(*this).CreateBitmap( fontId, glyphIndex, softwareItailc, softwareBold, data, outlineWidth );
}
+PixelData FontClient::CreateBitmap( FontId fontId, GlyphIndex glyphIndex, int outlineWidth )
+{
+ return GetImplementation(*this).CreateBitmap( fontId, glyphIndex, outlineWidth );
+}
void FontClient::CreateVectorBlob( FontId fontId,
GlyphIndex glyphIndex,
return GetImplementation(*this).GetEllipsisGlyph( pointSize );
}
+bool FontClient::IsColorGlyph( FontId fontId, GlyphIndex glyphIndex )
+{
+ return GetImplementation(*this).IsColorGlyph( fontId, glyphIndex );
+}
+
FontClient::FontClient( Internal::FontClient* internal )
: BaseHandle( internal )
{