X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fdecorator%2Ftext-decorator.cpp;h=65a5f68f029ee262c8431d442ed1c16fd82ecbaf;hb=ad110f27c01af7e617df158891eef5cf60bf22e6;hp=aa4d5c62f3829145c26af077e9f276d9b18ba669;hpb=3ba79f37caada41a4ef3f381b107228ef8eb29d8;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 aa4d5c6..65a5f68 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() { @@ -296,11 +296,11 @@ struct Decorator::Impl : public ConnectionTracker ( cursor.position.y > -Math::MACHINE_EPSILON_1000 ) ); if( mPrimaryCursorVisible ) { - mPrimaryCursor.SetPosition( cursor.position.x, - cursor.position.y ); - mPrimaryCursor.SetSize( Size( mCursorWidth, cursor.cursorHeight ) ); + mPrimaryCursor.SetProperty( Actor::Property::POSITION, Vector2( cursor.position.x, + cursor.position.y ) ); + mPrimaryCursor.SetProperty( Actor::Property::SIZE, Size( mCursorWidth, cursor.cursorHeight ) ); } - mPrimaryCursor.SetVisible( mPrimaryCursorVisible && mCursorBlinkStatus ); + mPrimaryCursor.SetProperty( Actor::Property::VISIBLE, mPrimaryCursorVisible && mCursorBlinkStatus ); } if( mSecondaryCursor ) { @@ -311,11 +311,11 @@ struct Decorator::Impl : public ConnectionTracker ( cursor.position.y > -Math::MACHINE_EPSILON_1000 ) ); if( mSecondaryCursorVisible ) { - mSecondaryCursor.SetPosition( cursor.position.x, - cursor.position.y ); - mSecondaryCursor.SetSize( Size( mCursorWidth, cursor.cursorHeight ) ); + mSecondaryCursor.SetProperty( Actor::Property::POSITION, Vector2( cursor.position.x, + cursor.position.y ) ); + mSecondaryCursor.SetProperty( Actor::Property::SIZE, Size( mCursorWidth, cursor.cursorHeight ) ); } - mSecondaryCursor.SetVisible( mSecondaryCursorVisible && mCursorBlinkStatus ); + mSecondaryCursor.SetProperty( Actor::Property::VISIBLE, mSecondaryCursorVisible && mCursorBlinkStatus ); } // Show or hide the grab handle @@ -346,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 ) @@ -405,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 ); } } @@ -499,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 ) { @@ -584,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; @@ -651,7 +651,7 @@ struct Decorator::Impl : public ConnectionTracker mCopyPastePopup.position.x = floorf( mCopyPastePopup.position.x ); mCopyPastePopup.position.y = floorf( mCopyPastePopup.position.y ); - mCopyPastePopup.actor.SetPosition( mCopyPastePopup.position ); + mCopyPastePopup.actor.SetProperty( Actor::Property::POSITION, mCopyPastePopup.position ); mPopupSetNewPosition = false; } @@ -659,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 @@ -687,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 } @@ -703,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 } @@ -729,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; @@ -769,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. @@ -786,7 +786,7 @@ struct Decorator::Impl : public ConnectionTracker { if( handle.markerActor ) { - handle.markerActor.SetSize( 0, handle.lineHeight ); + handle.markerActor.SetProperty( Actor::Property::SIZE, Vector2( 0, handle.lineHeight ) ); } } @@ -799,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 ); @@ -853,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 ); } } } @@ -880,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 ); @@ -924,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 ); @@ -965,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 @@ -980,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; @@ -1003,8 +1003,8 @@ struct Decorator::Impl : public ConnectionTracker if( grabHandle.actor ) { - grabHandle.actor.SetPosition( grabHandle.position.x + floor( 0.5f * mCursorWidth ) + ( mSmoothHandlePanEnabled ? grabHandle.grabDisplacementX : 0.f ), - yLocalPosition + ( mSmoothHandlePanEnabled ? grabHandle.grabDisplacementY : 0.f ) ); + grabHandle.actor.SetProperty( Actor::Property::POSITION, Vector2( grabHandle.position.x + floor( 0.5f * mCursorWidth ) + ( mSmoothHandlePanEnabled ? grabHandle.grabDisplacementX : 0.f ), + yLocalPosition + ( mSmoothHandlePanEnabled ? grabHandle.grabDisplacementY : 0.f ) ) ); } } @@ -1016,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; @@ -1067,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; } @@ -1077,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; } @@ -1096,8 +1096,8 @@ struct Decorator::Impl : public ConnectionTracker if( handle.actor ) { - handle.actor.SetPosition( handle.position.x + ( mSmoothHandlePanEnabled ? handle.grabDisplacementX : 0.f ), - yLocalPosition + ( mSmoothHandlePanEnabled ? handle.grabDisplacementY : 0.f ) ); + handle.actor.SetProperty( Actor::Property::POSITION, Vector2( handle.position.x + ( mSmoothHandlePanEnabled ? handle.grabDisplacementX : 0.f ), + yLocalPosition + ( mSmoothHandlePanEnabled ? handle.grabDisplacementY : 0.f ) ) ); } } @@ -1138,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 ) ); } } @@ -1148,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. @@ -1166,14 +1164,14 @@ struct Decorator::Impl : public ConnectionTracker if ( mHighlightActor ) { // Sets the position of the highlight actor inside the decorator. - mHighlightActor.SetPosition( mHighlightPosition.x + mHighlightOutlineOffset, - mHighlightPosition.y + mHighlightOutlineOffset ); + mHighlightActor.SetProperty( Actor::Property::POSITION, Vector2( mHighlightPosition.x + mHighlightOutlineOffset, + mHighlightPosition.y + mHighlightOutlineOffset ) ); const unsigned int numberOfQuads = mHighlightQuadList.Count(); if( 0u != numberOfQuads ) { // Set the size of the highlighted text to the actor. - mHighlightActor.SetSize( mHighlightSize ); + mHighlightActor.SetProperty( Actor::Property::SIZE, mHighlightSize ); // Used to translate the vertices given in decorator's coords to the mHighlightActor's local coords. const float offsetX = mHighlightPosition.x + 0.5f * mHighlightSize.width; @@ -1713,7 +1711,7 @@ struct Decorator::Impl : public ConnectionTracker const float popupHeight = mCopyPastePopup.actor.GetRelayoutSize( Dimension::HEIGHT ); // Sets the position of the popup below. - mCopyPastePopup.actor.SetY( floorf( CalculateVerticalPopUpPosition( 0.5f * popupHeight, true ) ) ); + mCopyPastePopup.actor.SetProperty( Actor::Property::POSITION_Y, floorf( CalculateVerticalPopUpPosition( 0.5f * popupHeight, true ) ) ); } void PopUpLeavesBottomBoundary( PropertyNotification& source ) @@ -1721,7 +1719,7 @@ struct Decorator::Impl : public ConnectionTracker const float popupHeight = mCopyPastePopup.actor.GetRelayoutSize( Dimension::HEIGHT ); // Sets the position of the popup above. - mCopyPastePopup.actor.SetY( floorf( CalculateVerticalPopUpPosition( 0.5f * popupHeight, false ) ) ); + mCopyPastePopup.actor.SetProperty( Actor::Property::POSITION_Y, floorf( CalculateVerticalPopUpPosition( 0.5f * popupHeight, false ) ) ); } void SetUpPopupPositionNotifications( const Vector3& popupHalfSize ) @@ -2242,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; @@ -2265,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 }