// EXTERNAL INCLUDES
#include <dali/devel-api/adaptor-framework/clipboard.h>
#include <dali/devel-api/text-abstraction/font-client.h>
-#include <iostream>
// INTERNAL INCLUDES
#include <dali-toolkit/internal/text/layouts/layout-engine.h>
struct FontDefaults
{
FontDefaults()
- : mDefaultFontFamily(""),
- mDefaultFontStyle(""),
+ : mFontDescription(),
+ mFontStyle(),
mDefaultPointSize(0.0f),
mFontId(0u)
{
+ // Initially use the default platform font
+ TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
+ fontClient.GetDefaultPlatformFontDescription( mFontDescription );
}
FontId GetFontId( TextAbstraction::FontClient& fontClient )
if( !mFontId )
{
Dali::TextAbstraction::PointSize26Dot6 pointSize = mDefaultPointSize*64;
- mFontId = fontClient.GetFontId( mDefaultFontFamily, mDefaultFontStyle, pointSize );
+ mFontId = fontClient.GetFontId( mFontDescription, pointSize );
}
return mFontId;
}
- std::string mDefaultFontFamily;
- std::string mDefaultFontStyle;
+ TextAbstraction::FontDescription mFontDescription;
+ std::string mFontStyle;
float mDefaultPointSize;
FontId mFontId;
};
mOperationsPending( NO_OPERATION ),
mMaximumNumberOfCharacters( 50 ),
mRecalculateNaturalSize( true ),
- mUserDefinedFontFamily( false)
+ mUserDefinedFontFamily( false )
{
mLogicalModel = LogicalModel::New();
mVisualModel = VisualModel::New();
return ( mEventData && mEventData->mIsShowingPlaceholderText );
}
+ /**
+ * @brief Helper to check whether active place-holder text is available.
+ */
+ bool IsFocusedPlaceholderAvailable() const
+ {
+ return ( mEventData && !mEventData->mPlaceholderTextActive.empty() );
+ }
+
bool IsShowingRealText() const
{
return ( !IsShowingPlaceholderText() &&
void ResetImfManager()
{
- // Reset incase we are in a pre-edit state.
- ImfManager imfManager = ImfManager::Get();
- if ( imfManager )
+ if( mEventData )
{
- imfManager.Reset(); // Will trigger a commit message
+ // Reset incase we are in a pre-edit state.
+ ImfManager imfManager = ImfManager::Get();
+ if ( imfManager )
+ {
+ imfManager.Reset(); // Will trigger a commit message
+ }
+
+ ClearPreEditFlag();
}
-
- ClearPreEditFlag();
}
bool IsClipboardEmpty()
Length mMaximumNumberOfCharacters; ///< Maximum number of characters that can be inserted.
bool mRecalculateNaturalSize:1; ///< Whether the natural size needs to be recalculated.
- bool mUserDefinedFontFamily:1; ///< Whether the Font family was Set by the user instead of being left as sytem default
+ bool mUserDefinedFontFamily:1; ///< Whether the Font family was set by the user instead of being left as sytem default.
};
} // namespace Text