litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.core.util; import org.litesoft.core.simpletypes.*; public class LeftRightAndUpDownRectContainmentStrategy extends RectangleContainmentStrategy { public static final RectangleContainmentStrategy INSTANCE = new LeftRightAndUpDownRectContainmentStrategy(); private LeftRightAndUpDownRectContainmentStrategy() { super( "LeftRightAndUpDown" ); } public PointXY moveToFitIn( Rect pRect, Rect pContainer ) { Integer zNewXpos = adjust( pRect.getXpos(), pRect.getXsize(), // pContainer.getXpos(), pContainer.getXsize() ); Integer zNewYpos = adjust( pRect.getYpos(), pRect.getYsize(), // pContainer.getYpos(), pContainer.getYsize() ); if ( (zNewXpos == null) && (zNewYpos == null) ) { return null; } return new PointXY( (zNewXpos != null) ? zNewXpos : pRect.getXpos(), (zNewYpos != null) ? zNewYpos : pRect.getYpos() ); } } |