litesoft
@ 804
litesoft / trunk / Java / core / Anywhere / src / org / litesoft / uipopupsupport / SourceRelativeContextPopupPositioner.java
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 28 29 30 31 32 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.uipopupsupport; import org.litesoft.core.simpletypes.*; import org.litesoft.core.typeutils.*; import org.litesoft.core.util.*; public class SourceRelativeContextPopupPositioner extends ContextPopupPositioner { public SourceRelativeContextPopupPositioner( RectangleContainmentStrategy pRectangleContainmentStrategy, CommonRectangularPoint pPopupRelativeMeetingPoint, PointXY pClientPos, SizeXY pClientSize, // CommonRectangularPoint pSourceElementRelativeMeetingPoint, Rect pSourceElementRect ) { super( pRectangleContainmentStrategy, pPopupRelativeMeetingPoint, pClientPos, pClientSize ); Objects.assertNotNull( "SourceElementRelativeMeetingPoint", mSourceElementRelativeMeetingPoint = pSourceElementRelativeMeetingPoint ); Objects.assertNotNull( "SourceElementRect", mSourceElementRect = pSourceElementRect ); } public StringBuilder toStringBuilder() { return add( super.toStringBuilder(), // "Source - ", mSourceElementRect ).append( ": " ).append( mSourceElementRelativeMeetingPoint ); } private CommonRectangularPoint mSourceElementRelativeMeetingPoint; private Rect mSourceElementRect; public Rect determinePosition( Rect pPopupRect ) { return LLdeterminePosition( pPopupRect, // mSourceElementRelativeMeetingPoint.getAppropriatePoint( mSourceElementRect ) ); } } |