| 1603 | //----------------------------------------------------------------------------- |
| 1604 | |
| 1605 | void GuiEditCtrl::resizeControlsInSelectionBy( const Point2I& delta, U32 mode ) |
| 1606 | { |
| 1607 | for( U32 i = 0, num = mSelectedControls.size(); i < num; ++ i ) |
| 1608 | { |
| 1609 | GuiControl *ctrl = mSelectedControls[ i ]; |
| 1610 | if( ctrl->isLocked() ) |
| 1611 | continue; |
| 1612 | |
| 1613 | Point2I minExtent = ctrl->getMinExtent(); |
| 1614 | Point2I newPosition = ctrl->getPosition(); |
| 1615 | Point2I newExtent = ctrl->getExtent(); |
| 1616 | |
| 1617 | if( mSizingMode & sizingLeft ) |
| 1618 | { |
| 1619 | newPosition.x += delta.x; |
| 1620 | newExtent.x -= delta.x; |
| 1621 | |
| 1622 | if( newExtent.x < minExtent.x ) |
| 1623 | { |
| 1624 | newPosition.x -= minExtent.x - newExtent.x; |
| 1625 | newExtent.x = minExtent.x; |
| 1626 | } |
| 1627 | } |
| 1628 | else if( mSizingMode & sizingRight ) |
| 1629 | { |
| 1630 | newExtent.x += delta.x; |
| 1631 | |
| 1632 | if( newExtent.x < minExtent.x ) |
| 1633 | newExtent.x = minExtent.x; |
| 1634 | } |
| 1635 | |
| 1636 | if( mSizingMode & sizingTop ) |
| 1637 | { |
| 1638 | newPosition.y += delta.y; |
| 1639 | newExtent.y -= delta.y; |
| 1640 | |
| 1641 | if( newExtent.y < minExtent.y ) |
| 1642 | { |
| 1643 | newPosition.y -= minExtent.y - newExtent.y; |
| 1644 | newExtent.y = minExtent.y; |
| 1645 | } |
| 1646 | } |
| 1647 | else if( mSizingMode & sizingBottom ) |
| 1648 | { |
| 1649 | newExtent.y += delta.y; |
| 1650 | |
| 1651 | if( newExtent.y < minExtent.y ) |
| 1652 | newExtent.y = minExtent.y; |
| 1653 | } |
| 1654 | |
| 1655 | ctrl->resize( newPosition, newExtent ); |
| 1656 | } |
| 1657 | |
| 1658 | if( mSelectedControls.size() == 1 ) |
| 1659 | onSelectionResized_callback( mSelectedControls[ 0 ] ); |
| 1660 | } |
| 1661 | |
| 1662 | //----------------------------------------------------------------------------- |
nothing calls this directly
no test coverage detected