X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fdecorator%2Ftext-decorator.cpp;h=42a79fb2d327327a35bbc9cb9cea6d1d0bb77724;hb=refs%2Fchanges%2F40%2F234640%2F2;hp=da49940c7f2ed86fb1e7aceef8a6d0b1b97e22d9;hpb=b2d83201fba837ae079d0f608517884def2c43c7;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/decorator/text-decorator.cpp b/dali-toolkit/internal/text/decorator/text-decorator.cpp index da49940..42a79fb 100644 --- a/dali-toolkit/internal/text/decorator/text-decorator.cpp +++ b/dali-toolkit/internal/text/decorator/text-decorator.cpp @@ -46,7 +46,7 @@ namespace { const char* VERTEX_SHADER = MAKE_SHADER( attribute mediump vec2 aPosition; -uniform mediump mat4 uMvpMatrix; +uniform highp mat4 uMvpMatrix; void main() { @@ -164,7 +164,8 @@ struct Decorator::Impl : public ConnectionTracker : color( Dali::Color::BLACK ), position(), cursorHeight( 0.0f ), - lineHeight( 0.0f ) + lineHeight( 0.0f ), + glyphOffset( 0.0f ) { } @@ -172,6 +173,7 @@ struct Decorator::Impl : public ConnectionTracker Vector2 position; float cursorHeight; float lineHeight; + float glyphOffset; }; struct HandleImpl @@ -234,6 +236,9 @@ struct Decorator::Impl : public ConnectionTracker mBoundingBox(), mHighlightColor( LIGHT_BLUE ), mHighlightPosition( Vector2::ZERO ), + mHighlightSize( Vector2::ZERO ), + mControlSize( Vector2::ZERO ), + mHighlightOutlineOffset( 0.f ), mActiveCursor( ACTIVE_CURSOR_NONE ), mCursorBlinkInterval( CURSOR_BLINK_INTERVAL ), mCursorBlinkDuration( 0.0f ), @@ -295,7 +300,7 @@ struct Decorator::Impl : public ConnectionTracker cursor.position.y ); mPrimaryCursor.SetSize( Size( mCursorWidth, cursor.cursorHeight ) ); } - mPrimaryCursor.SetVisible( mPrimaryCursorVisible && mCursorBlinkStatus ); + mPrimaryCursor.SetProperty( Actor::Property::VISIBLE, mPrimaryCursorVisible && mCursorBlinkStatus ); } if( mSecondaryCursor ) { @@ -310,7 +315,7 @@ struct Decorator::Impl : public ConnectionTracker cursor.position.y ); mSecondaryCursor.SetSize( Size( mCursorWidth, cursor.cursorHeight ) ); } - mSecondaryCursor.SetVisible( mSecondaryCursorVisible && mCursorBlinkStatus ); + mSecondaryCursor.SetProperty( Actor::Property::VISIBLE, mSecondaryCursorVisible && mCursorBlinkStatus ); } // Show or hide the grab handle @@ -341,7 +346,7 @@ struct Decorator::Impl : public ConnectionTracker if( grabHandle.actor ) { - grabHandle.actor.SetVisible( isVisible ); + grabHandle.actor.SetProperty( Actor::Property::VISIBLE, isVisible ); } } else if( grabHandle.actor ) @@ -400,11 +405,11 @@ struct Decorator::Impl : public ConnectionTracker if( primary.actor ) { - primary.actor.SetVisible( primaryVisible ); + primary.actor.SetProperty( Actor::Property::VISIBLE, primaryVisible ); } if( secondary.actor ) { - secondary.actor.SetVisible( secondaryVisible ); + secondary.actor.SetProperty( Actor::Property::VISIBLE, secondaryVisible ); } } @@ -494,7 +499,7 @@ struct Decorator::Impl : public ConnectionTracker if( primaryHandle.active || secondaryHandle.active ) { // The origin of the decorator's coordinate system in world coords. - const Vector3 originWorldCoords = mActiveLayer.GetCurrentWorldPosition() - mActiveLayer.GetCurrentSize() * ACTIVE_LAYER_ANCHOR_POINT; + const Vector3 originWorldCoords = mActiveLayer.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ) - mActiveLayer.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ) * ACTIVE_LAYER_ANCHOR_POINT; if( preferBelow ) { @@ -579,7 +584,7 @@ struct Decorator::Impl : public ConnectionTracker // Check first the horizontal dimension. If is not within the boundaries, it calculates the offset. // The origin of the decorator's coordinate system in world coords. - const Vector3 originWorldCoords = mActiveLayer.GetCurrentWorldPosition() - mActiveLayer.GetCurrentSize() * ACTIVE_LAYER_ANCHOR_POINT; + const Vector3 originWorldCoords = mActiveLayer.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ) - mActiveLayer.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ) * ACTIVE_LAYER_ANCHOR_POINT; // The popup's position in world coords. Vector3 popupPositionWorldCoords = originWorldCoords + mCopyPastePopup.position; @@ -654,8 +659,8 @@ struct Decorator::Impl : public ConnectionTracker { cursor = Control::New(); cursor.SetBackgroundColor( color ); - cursor.SetParentOrigin( ParentOrigin::TOP_LEFT ); - cursor.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + cursor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); + cursor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); } // Add or Remove cursor(s) from parent @@ -682,7 +687,7 @@ struct Decorator::Impl : public ConnectionTracker { CreateCursor( mPrimaryCursor, mCursor[PRIMARY_CURSOR].color ); #ifdef DECORATOR_DEBUG - mPrimaryCursor.SetName( "PrimaryCursorActor" ); + mPrimaryCursor.SetProperty( Dali::Actor::Property::NAME, "PrimaryCursorActor" ); #endif } @@ -698,7 +703,7 @@ struct Decorator::Impl : public ConnectionTracker { CreateCursor( mSecondaryCursor, mCursor[SECONDARY_CURSOR].color ); #ifdef DECORATOR_DEBUG - mSecondaryCursor.SetName( "SecondaryCursorActor" ); + mSecondaryCursor.SetProperty( Dali::Actor::Property::NAME, "SecondaryCursorActor" ); #endif } @@ -724,11 +729,11 @@ struct Decorator::Impl : public ConnectionTracker // Cursor blinking if ( mPrimaryCursor ) { - mPrimaryCursor.SetVisible( mPrimaryCursorVisible && mCursorBlinkStatus ); + mPrimaryCursor.SetProperty( Actor::Property::VISIBLE, mPrimaryCursorVisible && mCursorBlinkStatus ); } if ( mSecondaryCursor ) { - mSecondaryCursor.SetVisible( mSecondaryCursorVisible && mCursorBlinkStatus ); + mSecondaryCursor.SetProperty( Actor::Property::VISIBLE, mSecondaryCursorVisible && mCursorBlinkStatus ); } mCursorBlinkStatus = !mCursorBlinkStatus; @@ -764,10 +769,10 @@ struct Decorator::Impl : public ConnectionTracker { mActiveLayer = Layer::New(); #ifdef DECORATOR_DEBUG - mActiveLayer.SetName ( "ActiveLayerActor" ); + mActiveLayer.SetProperty( Actor::Property::NAME, "ActiveLayerActor" ); #endif - mActiveLayer.SetParentOrigin( ParentOrigin::CENTER ); + mActiveLayer.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); mActiveLayer.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS ); // Add the active layer telling the controller it doesn't need clipping. @@ -794,33 +799,33 @@ struct Decorator::Impl : public ConnectionTracker { grabHandle.actor = ImageView::New( mHandleImages[GRAB_HANDLE][HANDLE_IMAGE_RELEASED] ); GetImpl( grabHandle.actor).SetDepthIndex( DepthIndex::DECORATION ); - grabHandle.actor.SetAnchorPoint( AnchorPoint::TOP_CENTER ); + grabHandle.actor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER ); // Area that Grab handle responds to, larger than actual handle so easier to move #ifdef DECORATOR_DEBUG - grabHandle.actor.SetName( "GrabHandleActor" ); + grabHandle.actor.SetProperty( Dali::Actor::Property::NAME, "GrabHandleActor" ); if ( Dali::Internal::gLogFilter->IsEnabledFor( Debug::Verbose ) ) { grabHandle.grabArea = Control::New(); Toolkit::Control control = Toolkit::Control::DownCast( grabHandle.grabArea ); control.SetBackgroundColor( Vector4( 1.0f, 1.0f, 1.0f, 0.5f ) ); - grabHandle.grabArea.SetName( "GrabArea" ); + grabHandle.grabArea.SetProperty( Dali::Actor::Property::NAME, "GrabArea" ); } else { grabHandle.grabArea = Actor::New(); - grabHandle.grabArea.SetName( "GrabArea" ); + grabHandle.grabArea.SetProperty( Dali::Actor::Property::NAME, "GrabArea" ); } #else grabHandle.grabArea = Actor::New(); #endif - grabHandle.grabArea.SetParentOrigin( ParentOrigin::TOP_CENTER ); - grabHandle.grabArea.SetAnchorPoint( AnchorPoint::TOP_CENTER ); + grabHandle.grabArea.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER ); + grabHandle.grabArea.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER ); grabHandle.grabArea.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS ); - grabHandle.grabArea.SetSizeModeFactor( DEFAULT_GRAB_HANDLE_RELATIVE_SIZE ); + grabHandle.grabArea.SetProperty( Actor::Property::SIZE_MODE_FACTOR, DEFAULT_GRAB_HANDLE_RELATIVE_SIZE ); grabHandle.actor.Add( grabHandle.grabArea ); - grabHandle.actor.SetColor( mHandleColor ); + grabHandle.actor.SetProperty( Actor::Property::COLOR, mHandleColor ); grabHandle.grabArea.TouchSignal().Connect( this, &Decorator::Impl::OnGrabHandleTouched ); @@ -848,20 +853,20 @@ struct Decorator::Impl : public ConnectionTracker if( image ) { handle.markerActor = ImageView::New( image ); - handle.markerActor.SetColor( mHandleColor ); + handle.markerActor.SetProperty( Actor::Property::COLOR, mHandleColor ); handle.actor.Add( handle.markerActor ); handle.markerActor.SetResizePolicy ( ResizePolicy::FIXED, Dimension::HEIGHT ); if( LEFT_SELECTION_HANDLE == handleType ) { - handle.markerActor.SetAnchorPoint( AnchorPoint::BOTTOM_RIGHT ); - handle.markerActor.SetParentOrigin( ParentOrigin::TOP_RIGHT ); + handle.markerActor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::BOTTOM_RIGHT ); + handle.markerActor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_RIGHT ); } else if( RIGHT_SELECTION_HANDLE == handleType ) { - handle.markerActor.SetAnchorPoint( AnchorPoint::BOTTOM_LEFT ); - handle.markerActor.SetParentOrigin( ParentOrigin::TOP_LEFT ); + handle.markerActor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::BOTTOM_LEFT ); + handle.markerActor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); } } } @@ -875,20 +880,20 @@ struct Decorator::Impl : public ConnectionTracker { primary.actor = ImageView::New( mHandleImages[LEFT_SELECTION_HANDLE][HANDLE_IMAGE_RELEASED] ); #ifdef DECORATOR_DEBUG - primary.actor.SetName("SelectionHandleOne"); + primary.actor.SetProperty( Dali::Actor::Property::NAME,"SelectionHandleOne"); #endif - primary.actor.SetAnchorPoint( AnchorPoint::TOP_RIGHT ); // Change to BOTTOM_RIGHT if Look'n'Feel requires handle above text. + primary.actor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_RIGHT ); // Change to BOTTOM_RIGHT if Look'n'Feel requires handle above text. GetImpl( primary.actor ).SetDepthIndex( DepthIndex::DECORATION ); - primary.actor.SetColor( mHandleColor ); + primary.actor.SetProperty( Actor::Property::COLOR, mHandleColor ); primary.grabArea = Actor::New(); // Area that Grab handle responds to, larger than actual handle so easier to move #ifdef DECORATOR_DEBUG - primary.grabArea.SetName("SelectionHandleOneGrabArea"); + primary.grabArea.SetProperty( Dali::Actor::Property::NAME,"SelectionHandleOneGrabArea"); #endif primary.grabArea.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS ); - primary.grabArea.SetParentOrigin( ParentOrigin::TOP_CENTER ); - primary.grabArea.SetAnchorPoint( AnchorPoint::TOP_CENTER ); - primary.grabArea.SetSizeModeFactor( DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE ); + primary.grabArea.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER ); + primary.grabArea.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER ); + primary.grabArea.SetProperty( Actor::Property::SIZE_MODE_FACTOR, DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE ); primary.grabArea.TouchSignal().Connect( this, &Decorator::Impl::OnHandleOneTouched ); @@ -919,20 +924,20 @@ struct Decorator::Impl : public ConnectionTracker { secondary.actor = ImageView::New( mHandleImages[RIGHT_SELECTION_HANDLE][HANDLE_IMAGE_RELEASED] ); #ifdef DECORATOR_DEBUG - secondary.actor.SetName("SelectionHandleTwo"); + secondary.actor.SetProperty( Dali::Actor::Property::NAME,"SelectionHandleTwo"); #endif - secondary.actor.SetAnchorPoint( AnchorPoint::TOP_LEFT ); // Change to BOTTOM_LEFT if Look'n'Feel requires handle above text. + secondary.actor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); // Change to BOTTOM_LEFT if Look'n'Feel requires handle above text. GetImpl( secondary.actor ).SetDepthIndex( DepthIndex::DECORATION ); - secondary.actor.SetColor( mHandleColor ); + secondary.actor.SetProperty( Actor::Property::COLOR, mHandleColor ); secondary.grabArea = Actor::New(); // Area that Grab handle responds to, larger than actual handle so easier to move #ifdef DECORATOR_DEBUG - secondary.grabArea.SetName("SelectionHandleTwoGrabArea"); + secondary.grabArea.SetProperty( Dali::Actor::Property::NAME,"SelectionHandleTwoGrabArea"); #endif secondary.grabArea.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS ); - secondary.grabArea.SetParentOrigin( ParentOrigin::TOP_CENTER ); - secondary.grabArea.SetAnchorPoint( AnchorPoint::TOP_CENTER ); - secondary.grabArea.SetSizeModeFactor( DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE ); + secondary.grabArea.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER ); + secondary.grabArea.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER ); + secondary.grabArea.SetProperty( Actor::Property::SIZE_MODE_FACTOR, DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE ); secondary.grabArea.TouchSignal().Connect( this, &Decorator::Impl::OnHandleTwoTouched ); @@ -960,7 +965,7 @@ struct Decorator::Impl : public ConnectionTracker void CalculateHandleWorldCoordinates( HandleImpl& handle, Vector2& position ) { // Gets the world position of the active layer. The active layer is where the handles are added. - const Vector3 parentWorldPosition = mActiveLayer.GetCurrentWorldPosition(); + const Vector3 parentWorldPosition = mActiveLayer.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ); // The grab handle position in world coords. // The active layer's world position is the center of the active layer. The origin of the @@ -975,9 +980,9 @@ struct Decorator::Impl : public ConnectionTracker HandleImpl& grabHandle = mHandle[GRAB_HANDLE]; // Transforms the handle position into world coordinates. - // @note This is not the same value as grabHandle.actor.GetCurrentWorldPosition() + // @note This is not the same value as grabHandle.actor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ) // as it's transforming the handle's position set by the text-controller and not - // the final position set to the actor. Another difference is the GetCurrentWorldPosition() + // the final position set to the actor. Another difference is the.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ) // retrieves the position of the center of the actor but the handle's position set // by the text controller is not the center of the actor. Vector2 grabHandleWorldPosition; @@ -1011,9 +1016,9 @@ struct Decorator::Impl : public ConnectionTracker HandleImpl& handle = mHandle[type]; // Transforms the handle position into world coordinates. - // @note This is not the same value as handle.actor.GetCurrentWorldPosition() + // @note This is not the same value as handle.actor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ) // as it's transforming the handle's position set by the text-controller and not - // the final position set to the actor. Another difference is the GetCurrentWorldPosition() + // the final position set to the actor. Another difference is the.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ) // retrieves the position of the center of the actor but the handle's position set // by the text controller is not the center of the actor. Vector2 handleWorldPosition; @@ -1062,7 +1067,7 @@ struct Decorator::Impl : public ConnectionTracker if( handle.actor && !handle.horizontallyFlipped ) { // Change the anchor point to flip the image. - handle.actor.SetAnchorPoint( isPrimaryHandle ? AnchorPoint::TOP_LEFT : AnchorPoint::TOP_RIGHT ); + handle.actor.SetProperty( Actor::Property::ANCHOR_POINT, isPrimaryHandle ? AnchorPoint::TOP_LEFT : AnchorPoint::TOP_RIGHT ); handle.horizontallyFlipped = true; } @@ -1072,7 +1077,7 @@ struct Decorator::Impl : public ConnectionTracker if( handle.actor && handle.horizontallyFlipped ) { // Reset the anchor point. - handle.actor.SetAnchorPoint( isPrimaryHandle ? AnchorPoint::TOP_RIGHT : AnchorPoint::TOP_LEFT ); + handle.actor.SetProperty( Actor::Property::ANCHOR_POINT, isPrimaryHandle ? AnchorPoint::TOP_RIGHT : AnchorPoint::TOP_LEFT ); handle.horizontallyFlipped = false; } @@ -1133,7 +1138,7 @@ struct Decorator::Impl : public ConnectionTracker // Whether to flip the handle vertically. if( handle.actor ) { - handle.actor.SetOrientation( handle.verticallyFlipped ? ANGLE_180 : ANGLE_0, Vector3::XAXIS ); + handle.actor.SetProperty( Actor::Property::ORIENTATION, Quaternion( handle.verticallyFlipped ? ANGLE_180 : ANGLE_0, Vector3::XAXIS ) ); } } @@ -1143,13 +1148,11 @@ struct Decorator::Impl : public ConnectionTracker { mHighlightActor = Actor::New(); -#ifdef DECORATOR_DEBUG - mHighlightActor.SetName( "HighlightActor" ); -#endif - mHighlightActor.SetParentOrigin( ParentOrigin::TOP_LEFT ); - mHighlightActor.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - mHighlightActor.SetColor( mHighlightColor ); - mHighlightActor.SetColorMode( USE_OWN_COLOR ); + mHighlightActor.SetProperty( Dali::Actor::Property::NAME, "HighlightActor" ); + mHighlightActor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); + mHighlightActor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); + mHighlightActor.SetProperty( Actor::Property::COLOR, mHighlightColor ); + mHighlightActor.SetProperty( Actor::Property::COLOR_MODE, USE_OWN_COLOR ); } // Add the highlight box telling the controller it needs clipping. @@ -1161,8 +1164,8 @@ struct Decorator::Impl : public ConnectionTracker if ( mHighlightActor ) { // Sets the position of the highlight actor inside the decorator. - mHighlightActor.SetPosition( mHighlightPosition.x, - mHighlightPosition.y ); + mHighlightActor.SetPosition( mHighlightPosition.x + mHighlightOutlineOffset, + mHighlightPosition.y + mHighlightOutlineOffset ); const unsigned int numberOfQuads = mHighlightQuadList.Count(); if( 0u != numberOfQuads ) @@ -1910,6 +1913,7 @@ struct Decorator::Impl : public ConnectionTracker Vector2 mHighlightPosition; ///< The position of the highlight actor. Size mHighlightSize; ///< The size of the highlighted text. Size mControlSize; ///< The control's size. Set by the Relayout. + float mHighlightOutlineOffset; ///< The outline's offset. unsigned int mActiveCursor; unsigned int mCursorBlinkInterval; @@ -2006,6 +2010,18 @@ const Vector2& Decorator::GetPosition( Cursor cursor ) const return mImpl->mCursor[cursor].position; } +void Decorator::SetGlyphOffset( Cursor cursor, float glyphOffset ) +{ + Impl::CursorImpl& cursorImpl = mImpl->mCursor[cursor]; + + cursorImpl.glyphOffset = glyphOffset; +} + +const float Decorator::GetGlyphOffset( Cursor cursor) const +{ + return mImpl->mCursor[cursor].glyphOffset; +} + void Decorator::SetCursorColor( Cursor cursor, const Dali::Vector4& color ) { mImpl->mCursor[cursor].color = color; @@ -2185,16 +2201,18 @@ void Decorator::AddHighlight( unsigned int index, const Vector4& quad ) *( mImpl->mHighlightQuadList.Begin() + index ) = quad; } -void Decorator::SetHighLightBox( const Vector2& position, const Size& size ) +void Decorator::SetHighLightBox( const Vector2& position, const Size& size, float outlineOffset ) { mImpl->mHighlightPosition = position; mImpl->mHighlightSize = size; + mImpl->mHighlightOutlineOffset = outlineOffset; } void Decorator::ClearHighlights() { mImpl->mHighlightQuadList.Clear(); mImpl->mHighlightPosition = Vector2::ZERO; + mImpl->mHighlightOutlineOffset = 0.f; } void Decorator::ResizeHighlightQuads( unsigned int numberOfQuads ) @@ -2222,6 +2240,11 @@ bool Decorator::IsHighlightActive() const return mImpl->mIsHighlightBoxActive; } +bool Decorator::IsHighlightVisible() const +{ + return ( mImpl->mHighlightActor && mImpl->mHighlightActor.GetParent() ); +} + void Decorator::SetTextDepth( int textDepth ) { mImpl->mTextDepth = textDepth; @@ -2245,9 +2268,9 @@ void Decorator::SetEnabledPopupButtons( TextSelectionPopup::Buttons& enabledButt { mImpl->mCopyPastePopup.actor = TextSelectionPopup::New( &mImpl->mTextSelectionPopupCallbackInterface ); #ifdef DECORATOR_DEBUG - mImpl->mCopyPastePopup.actor.SetName("mCopyPastePopup"); + mImpl->mCopyPastePopup.actor.SetProperty( Dali::Actor::Property::NAME,"mCopyPastePopup"); #endif - mImpl->mCopyPastePopup.actor.SetAnchorPoint( AnchorPoint::CENTER ); + mImpl->mCopyPastePopup.actor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); mImpl->mCopyPastePopup.actor.OnRelayoutSignal().Connect( mImpl, &Decorator::Impl::SetPopupPosition ); // Position popup after size negotiation }