- case LEFT:
- {
- iconPosition.x = mIconPadding.left;
- labelPosition.x = -mLabelPadding.right;
- iconAnchoring = AnchorPoint::CENTER_LEFT;
- labelAnchoring = AnchorPoint::CENTER_RIGHT;
- horizontalLabelAlignment = "END";
- break;
- }
- case RIGHT:
- {
- iconPosition.x = -mIconPadding.right;
- labelPosition.x = mLabelPadding.left;
- iconAnchoring = AnchorPoint::CENTER_RIGHT;
- labelAnchoring = AnchorPoint::CENTER_LEFT;
- horizontalLabelAlignment = "BEGIN";
- break;
- }
- case TOP:
- {
- iconPosition.y = mIconPadding.top;
- labelPosition.y = -mLabelPadding.bottom;
- iconAnchoring = AnchorPoint::TOP_CENTER;
- labelAnchoring = AnchorPoint::BOTTOM_CENTER;
- verticalLabelAlignment = "BOTTOM";
- break;
- }
- case BOTTOM:
- {
- iconPosition.y = -mIconPadding.bottom;
- labelPosition.y = mLabelPadding.top;
- iconAnchoring = AnchorPoint::BOTTOM_CENTER;
- labelAnchoring = AnchorPoint::TOP_CENTER;
- verticalLabelAlignment = "TOP";
- break;
- }
- }
- }
-
- // Note: If there is only an icon, or only a label, the default values are now correct.
- // Setup the icon(s) with the precalculated values.
- if( icon )
- {
- icon.SetPosition( iconPosition );
- icon.SetParentOrigin( iconAnchoring );
- icon.SetAnchorPoint( iconAnchoring );
- }
- if( selectedIcon )
- {
- selectedIcon.SetPosition( iconPosition );
- selectedIcon.SetParentOrigin( iconAnchoring );
- selectedIcon.SetAnchorPoint( iconAnchoring );
- }
-
- // Setup the label.
- if( label )
- {
- label.SetPosition( labelPosition );
- label.SetParentOrigin( labelAnchoring );
- label.SetAnchorPoint( labelAnchoring );
- label.SetProperty( Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, horizontalLabelAlignment );
- label.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, verticalLabelAlignment );
- }
-
- RelayoutRequest();
-}
-
-void PushButton::ConfigureSizeNegotiationDimension( Dimension::Type dimension, const std::vector< Actor >& images, Actor& label )
-{
- ResizePolicy::Type imageResizePolicy = ResizePolicy::FILL_TO_PARENT;
- ResizePolicy::Type labelResizePolicy = ResizePolicy::FILL_TO_PARENT;
-
- ResizePolicy::Type resizePolicy = Self().GetResizePolicy( dimension );
-
- if( resizePolicy == ResizePolicy::FIT_TO_CHILDREN || resizePolicy == ResizePolicy::USE_NATURAL_SIZE )
- {
- if( label )
- {
- labelResizePolicy = ResizePolicy::USE_NATURAL_SIZE;
- }
- else
- {
- imageResizePolicy = ResizePolicy::USE_NATURAL_SIZE;
- }
- }
-
- if( label )
- {
- label.SetResizePolicy( labelResizePolicy, dimension );
- }
-
- for( std::vector< Actor >::const_iterator it = images.begin(), itEnd = images.end(); it != itEnd; ++it )
- {
- Actor actor = *it;
- if( actor )
- {
- actor.SetResizePolicy( imageResizePolicy, dimension );