/* */ package com.cloudgarden.layout; /** * Used by both AnchorLayout (SWT) and AnchorLayoutManager (Swing) */ public class AnchorConstraint { /** * Meaning: This side is not anchored. */ public static final int ANCHOR_NONE = 0; /** * (Relative anchor) Meaning: This side is anchored so that it always * occurs a fixed fraction of * the distance along it's parent's side. The position is calculated by * the formula " position = (parent side)*(value)/1000 " so for * instance if top=100 and topType == ANCHOR_REL then the * value of y for this side would be (parent height)*top/1000. */ public static final int ANCHOR_REL = 1; /** * (Absolute anchor) Meaning: This side is anchored a fixed distance * in pixels (given by the value for this side) from it's parent's respective side. * For instance, if bottomType == ANCHOR_ABS and bottom = 100 then the * bottom side of this component will remain fixed 100 pixels from * the bottom side of it's parent container. */ public static final int ANCHOR_ABS = 2; public int top; public int bottom; public int left; public int right; public int topType; public int bottomType; public int rightType; public int leftType; public AnchorConstraint() { this(0, 0, 0, 0, ANCHOR_NONE, ANCHOR_NONE, ANCHOR_NONE, ANCHOR_NONE); } /** * Creates an AnchorConstraint. * @param top - value (relative or absolute) for top side * @param right - like 'top' but for right side * @param bottom - like 'top' but for bottom side * @param left - like 'top' but for left side * @param topType - either ANCHOR_ABS, ANCHOR_REL or ANCHOR_NONE * to indicate whether the 'top' parameter is an absolute value (in pixels) or * a fractional value (in 1/1000 ths) of the height of this component's parent, * denoting where the anchor will be applied (if at all). * @param rightType - like 'topType' but for right side * @param bottomType - like 'topType' but for bottom side * @param leftType - like 'topType' but for left side */ public AnchorConstraint( int top, int right, int bottom, int left, int topType, int rightType, int bottomType, int leftType) { this.top = top; this.bottom = bottom; this.left = left; this.right = right; this.topType = topType; this.rightType = rightType; this.bottomType = bottomType; this.leftType = leftType; } }