package com.baselet.element.sequence_aio.facet; /** * Interface for the horizontal drawing information for a single lifeline. */ public interface LifelineHorizontalDrawingInfo { /** * @return the start (left) x coordinate of the lifeline without any padding, * i.e. the left x coordinate of the rectangular head (if created at start) */ public double getHorizontalStart(); /** * @return the end (right) x coordinate of the lifeline without any padding, * i.e. the right x coordinate of the rectangular head (if created at start) */ public double getHorizontalEnd(); /** * Returns the left x coordinate with respect to the left padding. * @param tick at which the start should be calculated, the tick is necessary to determine if a padding is present * @return the start (left) x coordinate of the lifeline with left padding included, if no left padding is present * (e.g. from a combined fragment border on the left side) it is equal to getHorizontalStart() * @see #getHorizontalStart() */ public double getHorizontalStart(int tick); /** * Returns the right x coordinate with respect to the right padding. * @param tick at which the end should be calculated, the tick is necessary to determine if a padding is present * @return the end (right) x coordinate of the lifeline with right padding included, if no right padding is present * (e.g. from a combined fragment border on the right side) it is equal to getHorizontalEnd() * @see #getHorizontalEnd() */ public double getHorizontalEnd(int tick); /** * Center of the lifeline i.e. the dashed line, this must not lie at <code>getHorizontalStart + getWidth / 2</code> * but always is <code>getSymmetricHorizontalStart + getSymmetricWidth / 2</code> * @return the center of the lifeline */ public double getHorizontalCenter(); /** * <code>getHorizontalEnd - getHorizontalStart</code> * @return the width of the lifeline * @see #getHorizontalStart() * @see #getHorizontalEnd() */ public double getWidth(); /** * <code>getHorizontalEnd - getHorizontalStart</code> * @param tick * @return the width of the lifeline at the given tick * @see #getHorizontalStart(int) * @see #getHorizontalEnd(int) */ public double getWidth(int tick); /** * Returns the left x coordinate with respect to the max(left padding, right padding). * getSymmetricHorizontalStart and getSymmetricHorizontalEnd have the same distance to the center. * @param tick at which the start should be calculated, the tick is necessary to determine if a padding is present * @return the start (left) x coordinate of the lifeline with left and right padding included, if no padding is * present (e.g. from a combined fragment border) it is equal to getHorizontalStart(). If the left padding is * >= right padding it is equal to getHorizontalStart(int) * @see #getHorizontalStart() * @see #getHorizontalStart(int) * @see #getSymmetricHorizontalEnd(int) */ public double getSymmetricHorizontalStart(int tick); /** * Returns the right x coordinate with respect to the max(left padding, right padding). * getSymmetricHorizontalStart and getSymmetricHorizontalEnd have the same distance to the center. * @param tick at which the end should be calculated, the tick is necessary to determine if a padding is present * @return the end (right) x coordinate of the lifeline with left and right padding included, if no padding is * present (e.g. from a combined fragment border) it is equal to getHorizontalEnd(). If the left padding is * <= right padding it is equal to getHorizontalEnd(int) * @see #getHorizontalEnd() * @see #getHorizontalEnd(int) * @see #getSymmetricHorizontalStart(int) */ public double getSymmetricHorizontalEnd(int tick); /** * <code>getSymmetricHorizontalEnd - getSymmetricHorizontalStart</code> * @param tick * @return the symmetric width of the lifeline at the given tick * @see #getSymmetricHorizontalStart(int) * @see #getSymmetricHorizontalEnd(int) */ public double getSymmetricWidth(int tick); }