X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller-impl.h;h=8ada007de5669a9eeaa3aa2f71fc130d28a4d0a6;hb=4c1f4bfb9eb5b956b64a6c9bf077217fc0ca9234;hp=e60fe37100364bfbac6edd61693c3d56d73f4d17;hpb=2047844bb3b4a84231905c8c540d34d4c468e5ad;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller-impl.h b/dali-toolkit/internal/text/text-controller-impl.h index e60fe37..8ada007 100644 --- a/dali-toolkit/internal/text/text-controller-impl.h +++ b/dali-toolkit/internal/text/text-controller-impl.h @@ -21,7 +21,6 @@ // EXTERNAL INCLUDES #include #include -#include // INTERNAL INCLUDES #include @@ -175,11 +174,14 @@ struct ModifyEvent 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 ) @@ -187,14 +189,14 @@ struct FontDefaults 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; }; @@ -218,7 +220,7 @@ struct Controller::Impl mOperationsPending( NO_OPERATION ), mMaximumNumberOfCharacters( 50 ), mRecalculateNaturalSize( true ), - mUserDefinedFontFamily( false) + mUserDefinedFontFamily( false ) { mLogicalModel = LogicalModel::New(); mVisualModel = VisualModel::New(); @@ -288,6 +290,14 @@ struct Controller::Impl 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() && @@ -320,14 +330,17 @@ struct Controller::Impl 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() @@ -488,7 +501,7 @@ struct Controller::Impl 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