X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.cpp;h=f5d1bb7bba284dc50adf21b5a6c8d31777411cb8;hb=0c862d5823332bc2161c64f901395f2390c82fd2;hp=be985d11b88812f7cf54e905f6330098da906931;hpb=48000ec3ab1ca2d1f8001d192112e32357bb1dfc;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller.cpp b/dali-toolkit/internal/text/text-controller.cpp index be985d1..f5d1bb7 100644 --- a/dali-toolkit/internal/text/text-controller.cpp +++ b/dali-toolkit/internal/text/text-controller.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -667,6 +667,9 @@ void Controller::SetFontSizeScale(float scale) { mImpl->mFontSizeScale = scale; + // No relayout is required + if(!mImpl->mFontSizeScaleEnabled) return; + // Update the cursor position if it's in editing mode UpdateCursorPosition(mImpl->mEventData); @@ -681,6 +684,24 @@ float Controller::GetFontSizeScale() const return mImpl->mFontDefaults ? mImpl->mFontSizeScale : 1.0f; } +void Controller::SetFontSizeScaleEnabled(bool enabled) +{ + mImpl->mFontSizeScaleEnabled = enabled; + + // Update the cursor position if it's in editing mode + UpdateCursorPosition(mImpl->mEventData); + + // Clear the font-specific data + mImpl->ClearFontData(); + + mImpl->RequestRelayout(); +} + +bool Controller::IsFontSizeScaleEnabled() const +{ + return mImpl->mFontSizeScaleEnabled; +} + void Controller::SetDefaultFontSize(float fontSize, FontSizeType type) { EnsureCreated(mImpl->mFontDefaults); @@ -805,6 +826,42 @@ float Controller::GetUnderlineHeight() const return mImpl->mModel->mVisualModel->GetUnderlineHeight(); } +void Controller::SetUnderlineType(Text::Underline::Type type) +{ + mImpl->mModel->mVisualModel->SetUnderlineType(type); + + mImpl->RequestRelayout(); +} + +Text::Underline::Type Controller::GetUnderlineType() const +{ + return mImpl->mModel->mVisualModel->GetUnderlineType(); +} + +void Controller::SetDashedUnderlineWidth(float width) +{ + mImpl->mModel->mVisualModel->SetDashedUnderlineWidth(width); + + mImpl->RequestRelayout(); +} + +float Controller::GetDashedUnderlineWidth() const +{ + return mImpl->mModel->mVisualModel->GetDashedUnderlineWidth(); +} + +void Controller::SetDashedUnderlineGap(float gap) +{ + mImpl->mModel->mVisualModel->SetDashedUnderlineGap(gap); + + mImpl->RequestRelayout(); +} + +float Controller::GetDashedUnderlineGap() const +{ + return mImpl->mModel->mVisualModel->GetDashedUnderlineGap(); +} + void Controller::SetOutlineColor(const Vector4& color) { mImpl->mModel->mVisualModel->SetOutlineColor(color); @@ -1092,6 +1149,65 @@ void Controller::FontStyleSetByString(bool setByString) mImpl->mFontStyleSetByString = setByString; } +void Controller::SetStrikethroughHeight(float height) +{ + mImpl->mModel->mVisualModel->SetStrikethroughHeight(height); + + mImpl->RequestRelayout(); +} + +float Controller::GetStrikethroughHeight() const +{ + return mImpl->mModel->mVisualModel->GetStrikethroughHeight(); +} + +void Controller::SetStrikethroughColor(const Vector4& color) +{ + mImpl->mModel->mVisualModel->SetStrikethroughColor(color); + + mImpl->RequestRelayout(); +} + +const Vector4& Controller::GetStrikethroughColor() const +{ + return mImpl->mModel->mVisualModel->GetStrikethroughColor(); +} + +void Controller::SetStrikethroughEnabled(bool enabled) +{ + mImpl->mModel->mVisualModel->SetStrikethroughEnabled(enabled); + + mImpl->RequestRelayout(); +} + +bool Controller::IsStrikethroughEnabled() const +{ + return mImpl->mModel->mVisualModel->IsStrikethroughEnabled(); +} + +void Controller::SetInputStrikethroughProperties(const std::string& strikethroughProperties) +{ + if(NULL != mImpl->mEventData) + { + mImpl->mEventData->mInputStyle.strikethroughProperties = strikethroughProperties; + } +} + +const std::string& Controller::GetInputStrikethroughProperties() const +{ + return (NULL != mImpl->mEventData) ? mImpl->mEventData->mInputStyle.strikethroughProperties : EMPTY_STRING; +} + +bool Controller::IsStrikethroughSetByString() +{ + return mImpl->mStrikethroughSetByString; +} + +void Controller::StrikethroughSetByString(bool setByString) +{ + mImpl->mStrikethroughSetByString = setByString; +} + Layout::Engine& Controller::GetLayoutEngine() { return mImpl->mLayoutEngine;