+ case Toolkit::DevelTextLabel::Property::ANCHOR_COLOR:
+ {
+ const Vector4& anchorColor = value.Get<Vector4>();
+ if(impl.mController->GetAnchorColor() != anchorColor)
+ {
+ impl.mController->SetAnchorColor(anchorColor);
+ impl.mTextUpdateNeeded = true;
+ }
+ break;
+ }
+ case Toolkit::DevelTextLabel::Property::ANCHOR_CLICKED_COLOR:
+ {
+ const Vector4& anchorClickedColor = value.Get<Vector4>();
+ if(impl.mController->GetAnchorClickedColor() != anchorClickedColor)
+ {
+ impl.mController->SetAnchorClickedColor(anchorClickedColor);
+ impl.mTextUpdateNeeded = true;
+ }
+ break;
+ }
+ case Toolkit::DevelTextLabel::Property::REMOVE_FRONT_INSET:
+ {
+ const bool remove = value.Get<bool>();
+ impl.mController->SetRemoveFrontInset(remove);
+ break;
+ }
+ case Toolkit::DevelTextLabel::Property::REMOVE_BACK_INSET:
+ {
+ const bool remove = value.Get<bool>();
+ impl.mController->SetRemoveBackInset(remove);
+ break;
+ }
+ case Toolkit::DevelTextLabel::Property::CUTOUT:
+ {
+ const bool cutout = value.Get<bool>();
+
+ impl.mController->SetTextCutout(cutout);
+
+ // Property doesn't affect the layout, only Visual must be updated
+ TextVisual::EnableRendererUpdate(impl.mVisual);
+
+ // No need to trigger full re-layout. Instead call UpdateRenderer() directly
+ TextVisual::UpdateRenderer(impl.mVisual);
+ break;
+ }