Java Code Examples for org.jfree.ui.VerticalAlignment#BOTTOM

The following examples show how to use org.jfree.ui.VerticalAlignment#BOTTOM . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ColumnArrangementTest.java    From ECG-Viewer with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Confirm that the equals() method can distinguish all the required fields.
 */
@Test
public void testEquals() {
    ColumnArrangement c1 = new ColumnArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    ColumnArrangement c2 = new ColumnArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(c1.equals(c2));
    assertTrue(c2.equals(c1));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertTrue(c1.equals(c2));
}
 
Example 2
Source File: FlowArrangementTest.java    From ECG-Viewer with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Confirm that the equals() method can distinguish all the required fields.
 */
@Test
public void testEquals() {
    FlowArrangement f1 = new FlowArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    FlowArrangement f2 = new FlowArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(f1.equals(f2));
    assertTrue(f2.equals(f1));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertTrue(f1.equals(f2));

}
 
Example 3
Source File: JFreeChart.java    From SIMVA-SoS with Apache License 2.0 5 votes vote down vote up
/**
 * Creates a rectangle that is aligned to the frame.
 *
 * @param dimensions  the dimensions for the rectangle.
 * @param frame  the frame to align to.
 * @param hAlign  the horizontal alignment.
 * @param vAlign  the vertical alignment.
 *
 * @return A rectangle.
 */
private Rectangle2D createAlignedRectangle2D(Size2D dimensions,
        Rectangle2D frame, HorizontalAlignment hAlign,
        VerticalAlignment vAlign) {
    double x = Double.NaN;
    double y = Double.NaN;
    if (hAlign == HorizontalAlignment.LEFT) {
        x = frame.getX();
    }
    else if (hAlign == HorizontalAlignment.CENTER) {
        x = frame.getCenterX() - (dimensions.width / 2.0);
    }
    else if (hAlign == HorizontalAlignment.RIGHT) {
        x = frame.getMaxX() - dimensions.width;
    }
    if (vAlign == VerticalAlignment.TOP) {
        y = frame.getY();
    }
    else if (vAlign == VerticalAlignment.CENTER) {
        y = frame.getCenterY() - (dimensions.height / 2.0);
    }
    else if (vAlign == VerticalAlignment.BOTTOM) {
        y = frame.getMaxY() - dimensions.height;
    }

    return new Rectangle2D.Double(x, y, dimensions.width,
            dimensions.height);
}
 
Example 4
Source File: FlowArrangement.java    From SIMVA-SoS with Apache License 2.0 5 votes vote down vote up
/**
 * Arranges the blocks without any constraints.  This puts all blocks
 * into a single row.
 *
 * @param container  the container.
 * @param g2  the graphics device.
 *
 * @return The size after the arrangement.
 */
protected Size2D arrangeNN(BlockContainer container, Graphics2D g2) {
    double x = 0.0;
    double width = 0.0;
    double maxHeight = 0.0;
    List blocks = container.getBlocks();
    int blockCount = blocks.size();
    if (blockCount > 0) {
        Size2D[] sizes = new Size2D[blocks.size()];
        for (int i = 0; i < blocks.size(); i++) {
            Block block = (Block) blocks.get(i);
            sizes[i] = block.arrange(g2, RectangleConstraint.NONE);
            width = width + sizes[i].getWidth();
            maxHeight = Math.max(sizes[i].height, maxHeight);
            block.setBounds(
                new Rectangle2D.Double(
                    x, 0.0, sizes[i].width, sizes[i].height
                )
            );
            x = x + sizes[i].width + this.horizontalGap;
        }
        if (blockCount > 1) {
            width = width + this.horizontalGap * (blockCount - 1);
        }
        if (this.verticalAlignment != VerticalAlignment.TOP) {
            for (int i = 0; i < blocks.size(); i++) {
                //Block b = (Block) blocks.get(i);
                if (this.verticalAlignment == VerticalAlignment.CENTER) {
                    //TODO: shift block down by half
                }
                else if (this.verticalAlignment
                        == VerticalAlignment.BOTTOM) {
                    //TODO: shift block down to bottom
                }
            }
        }
    }
    return new Size2D(width, maxHeight);
}
 
Example 5
Source File: FlowArrangement.java    From ECG-Viewer with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Arranges the blocks without any constraints.  This puts all blocks
 * into a single row.
 *
 * @param container  the container.
 * @param g2  the graphics device.
 *
 * @return The size after the arrangement.
 */
protected Size2D arrangeNN(BlockContainer container, Graphics2D g2) {
    double x = 0.0;
    double width = 0.0;
    double maxHeight = 0.0;
    List blocks = container.getBlocks();
    int blockCount = blocks.size();
    if (blockCount > 0) {
        Size2D[] sizes = new Size2D[blocks.size()];
        for (int i = 0; i < blocks.size(); i++) {
            Block block = (Block) blocks.get(i);
            sizes[i] = block.arrange(g2, RectangleConstraint.NONE);
            width = width + sizes[i].getWidth();
            maxHeight = Math.max(sizes[i].height, maxHeight);
            block.setBounds(
                new Rectangle2D.Double(
                    x, 0.0, sizes[i].width, sizes[i].height
                )
            );
            x = x + sizes[i].width + this.horizontalGap;
        }
        if (blockCount > 1) {
            width = width + this.horizontalGap * (blockCount - 1);
        }
        if (this.verticalAlignment != VerticalAlignment.TOP) {
            for (int i = 0; i < blocks.size(); i++) {
                //Block b = (Block) blocks.get(i);
                if (this.verticalAlignment == VerticalAlignment.CENTER) {
                    //TODO: shift block down by half
                }
                else if (this.verticalAlignment
                        == VerticalAlignment.BOTTOM) {
                    //TODO: shift block down to bottom
                }
            }
        }
    }
    return new Size2D(width, maxHeight);
}
 
Example 6
Source File: ColumnArrangementTest.java    From SIMVA-SoS with Apache License 2.0 5 votes vote down vote up
/**
 * Confirm that the equals() method can distinguish all the required fields.
 */
@Test
public void testEquals() {
    ColumnArrangement c1 = new ColumnArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    ColumnArrangement c2 = new ColumnArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(c1.equals(c2));
    assertTrue(c2.equals(c1));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertTrue(c1.equals(c2));
}
 
Example 7
Source File: FlowArrangementTest.java    From SIMVA-SoS with Apache License 2.0 5 votes vote down vote up
/**
 * Confirm that the equals() method can distinguish all the required fields.
 */
@Test
public void testEquals() {
    FlowArrangement f1 = new FlowArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    FlowArrangement f2 = new FlowArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(f1.equals(f2));
    assertTrue(f2.equals(f1));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertTrue(f1.equals(f2));

}
 
Example 8
Source File: VerticalAlignmentFieldHandler.java    From jasperreports with GNU Lesser General Public License v3.0 5 votes vote down vote up
@Override
public Object convertUponSet(Object value)
{
	if (value == null)
	{
		return null;
	}
	return 
		VerticalAlignment.TOP.toString().equals(value) 
		? VerticalAlignment.TOP 
		: VerticalAlignment.CENTER.toString().equals(value)
		? VerticalAlignment.CENTER
		: VerticalAlignment.BOTTOM.toString().equals(value)
		? VerticalAlignment.BOTTOM : null;
}
 
Example 9
Source File: JFreeChart.java    From opensim-gui with Apache License 2.0 5 votes vote down vote up
/**
 * Creates a rectangle that is aligned to the frame.
 * 
 * @param dimensions
 * @param frame
 * @param hAlign
 * @param vAlign
 * 
 * @return A rectangle.
 */
private Rectangle2D createAlignedRectangle2D(Size2D dimensions, 
        Rectangle2D frame, HorizontalAlignment hAlign, 
        VerticalAlignment vAlign) {
    double x = Double.NaN;
    double y = Double.NaN;
    if (hAlign == HorizontalAlignment.LEFT) {
        x = frame.getX();   
    }
    else if (hAlign == HorizontalAlignment.CENTER) {
        x = frame.getCenterX() - (dimensions.width / 2.0);   
    }
    else if (hAlign == HorizontalAlignment.RIGHT) {
        x = frame.getMaxX() - dimensions.width;   
    }
    if (vAlign == VerticalAlignment.TOP) {
        y = frame.getY();   
    }
    else if (vAlign == VerticalAlignment.CENTER) {
        y = frame.getCenterY() - (dimensions.height / 2.0);   
    }
    else if (vAlign == VerticalAlignment.BOTTOM) {
        y = frame.getMaxY() - dimensions.height;   
    }
    
    return new Rectangle2D.Double(x, y, dimensions.width, 
            dimensions.height);
}
 
Example 10
Source File: TextTitle.java    From ccu-historian with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Draws a the title vertically within the specified area.  This method
 * will be called from the {@link #draw(Graphics2D, Rectangle2D) draw}
 * method.
 *
 * @param g2  the graphics device.
 * @param area  the area for the title.
 */
protected void drawVertical(Graphics2D g2, Rectangle2D area) {
    Rectangle2D titleArea = (Rectangle2D) area.clone();
    g2.setFont(this.font);
    g2.setPaint(this.paint);
    TextBlockAnchor anchor = null;
    float y = 0.0f;
    VerticalAlignment verticalAlignment = getVerticalAlignment();
    if (verticalAlignment == VerticalAlignment.TOP) {
        y = (float) titleArea.getY();
        anchor = TextBlockAnchor.TOP_RIGHT;
    }
    else if (verticalAlignment == VerticalAlignment.BOTTOM) {
        y = (float) titleArea.getMaxY();
        anchor = TextBlockAnchor.TOP_LEFT;
    }
    else if (verticalAlignment == VerticalAlignment.CENTER) {
        y = (float) titleArea.getCenterY();
        anchor = TextBlockAnchor.TOP_CENTER;
    }
    float x = 0.0f;
    RectangleEdge position = getPosition();
    if (position == RectangleEdge.LEFT) {
        x = (float) titleArea.getX();
    }
    else if (position == RectangleEdge.RIGHT) {
        x = (float) titleArea.getMaxX();
        if (verticalAlignment == VerticalAlignment.TOP) {
            anchor = TextBlockAnchor.BOTTOM_RIGHT;
        }
        else if (verticalAlignment == VerticalAlignment.CENTER) {
            anchor = TextBlockAnchor.BOTTOM_CENTER;
        }
        else if (verticalAlignment == VerticalAlignment.BOTTOM) {
            anchor = TextBlockAnchor.BOTTOM_LEFT;
        }
    }
    this.content.draw(g2, x, y, anchor, x, y, -Math.PI / 2.0);
}
 
Example 11
Source File: ColumnArrangementTest.java    From ccu-historian with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Confirm that the equals() method can distinguish all the required fields.
 */
@Test
public void testEquals() {
    ColumnArrangement c1 = new ColumnArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    ColumnArrangement c2 = new ColumnArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(c1.equals(c2));
    assertTrue(c2.equals(c1));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertTrue(c1.equals(c2));

    c1 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertFalse(c1.equals(c2));
    c2 = new ColumnArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertTrue(c1.equals(c2));
}
 
Example 12
Source File: FlowArrangementTest.java    From ccu-historian with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Confirm that the equals() method can distinguish all the required fields.
 */
@Test
public void testEquals() {
    FlowArrangement f1 = new FlowArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    FlowArrangement f2 = new FlowArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(f1.equals(f2));
    assertTrue(f2.equals(f1));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertTrue(f1.equals(f2));

}
 
Example 13
Source File: JFreeChart.java    From openstock with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Creates a rectangle that is aligned to the frame.
 *
 * @param dimensions  the dimensions for the rectangle.
 * @param frame  the frame to align to.
 * @param hAlign  the horizontal alignment.
 * @param vAlign  the vertical alignment.
 *
 * @return A rectangle.
 */
private Rectangle2D createAlignedRectangle2D(Size2D dimensions,
        Rectangle2D frame, HorizontalAlignment hAlign,
        VerticalAlignment vAlign) {
    double x = Double.NaN;
    double y = Double.NaN;
    if (hAlign == HorizontalAlignment.LEFT) {
        x = frame.getX();
    }
    else if (hAlign == HorizontalAlignment.CENTER) {
        x = frame.getCenterX() - (dimensions.width / 2.0);
    }
    else if (hAlign == HorizontalAlignment.RIGHT) {
        x = frame.getMaxX() - dimensions.width;
    }
    if (vAlign == VerticalAlignment.TOP) {
        y = frame.getY();
    }
    else if (vAlign == VerticalAlignment.CENTER) {
        y = frame.getCenterY() - (dimensions.height / 2.0);
    }
    else if (vAlign == VerticalAlignment.BOTTOM) {
        y = frame.getMaxY() - dimensions.height;
    }

    return new Rectangle2D.Double(x, y, dimensions.width,
            dimensions.height);
}
 
Example 14
Source File: FlowArrangement.java    From opensim-gui with Apache License 2.0 5 votes vote down vote up
/**
 * Arranges the blocks without any constraints.  This puts all blocks
 * into a single row.
 * 
 * @param container  the container.
 * @param g2  the graphics device.
 * 
 * @return The size after the arrangement.
 */
protected Size2D arrangeNN(BlockContainer container, Graphics2D g2) {
    double x = 0.0;
    double width = 0.0;
    double maxHeight = 0.0;
    List blocks = container.getBlocks();
    int blockCount = blocks.size();
    if (blockCount > 0) {
        Size2D[] sizes = new Size2D[blocks.size()];
        for (int i = 0; i < blocks.size(); i++) {
            Block block = (Block) blocks.get(i);
            sizes[i] = block.arrange(g2, RectangleConstraint.NONE);
            width = width + sizes[i].getWidth();
            maxHeight = Math.max(sizes[i].height, maxHeight);
            block.setBounds(
                new Rectangle2D.Double(
                    x, 0.0, sizes[i].width, sizes[i].height
                )
            );
            x = x + sizes[i].width + this.horizontalGap;
        }
        if (blockCount > 1) {
            width = width + this.horizontalGap * (blockCount - 1);   
        }
        if (this.verticalAlignment != VerticalAlignment.TOP) {
            for (int i = 0; i < blocks.size(); i++) {
                //Block b = (Block) blocks.get(i);
                if (this.verticalAlignment == VerticalAlignment.CENTER) {
                    //TODO: shift block down by half
                }
                else if (this.verticalAlignment 
                        == VerticalAlignment.BOTTOM) {
                    //TODO: shift block down to bottom
                }
            }            
        }
    }
    return new Size2D(width, maxHeight);
}
 
Example 15
Source File: JFreeChart.java    From ECG-Viewer with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Creates a rectangle that is aligned to the frame.
 *
 * @param dimensions  the dimensions for the rectangle.
 * @param frame  the frame to align to.
 * @param hAlign  the horizontal alignment.
 * @param vAlign  the vertical alignment.
 *
 * @return A rectangle.
 */
private Rectangle2D createAlignedRectangle2D(Size2D dimensions,
        Rectangle2D frame, HorizontalAlignment hAlign,
        VerticalAlignment vAlign) {
    double x = Double.NaN;
    double y = Double.NaN;
    if (hAlign == HorizontalAlignment.LEFT) {
        x = frame.getX();
    }
    else if (hAlign == HorizontalAlignment.CENTER) {
        x = frame.getCenterX() - (dimensions.width / 2.0);
    }
    else if (hAlign == HorizontalAlignment.RIGHT) {
        x = frame.getMaxX() - dimensions.width;
    }
    if (vAlign == VerticalAlignment.TOP) {
        y = frame.getY();
    }
    else if (vAlign == VerticalAlignment.CENTER) {
        y = frame.getCenterY() - (dimensions.height / 2.0);
    }
    else if (vAlign == VerticalAlignment.BOTTOM) {
        y = frame.getMaxY() - dimensions.height;
    }

    return new Rectangle2D.Double(x, y, dimensions.width,
            dimensions.height);
}
 
Example 16
Source File: FlowArrangementTest.java    From openstock with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Confirm that the equals() method can distinguish all the required fields.
 */
@Test
public void testEquals() {
    FlowArrangement f1 = new FlowArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    FlowArrangement f2 = new FlowArrangement(HorizontalAlignment.LEFT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(f1.equals(f2));
    assertTrue(f2.equals(f1));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.TOP, 1.0, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.0, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.0);
    assertTrue(f1.equals(f2));

    f1 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertFalse(f1.equals(f2));
    f2 = new FlowArrangement(HorizontalAlignment.RIGHT,
            VerticalAlignment.BOTTOM, 1.1, 2.2);
    assertTrue(f1.equals(f2));

}
 
Example 17
Source File: ImageTitle.java    From opensim-gui with Apache License 2.0 4 votes vote down vote up
/**
 * Draws the title on a Java 2D graphics device (such as the screen or a 
 * printer).
 *
 * @param g2  the graphics device.
 * @param chartArea  the area within which the title (and plot) should be 
 *                   drawn.
 *
 * @return The size of the area used by the title.
 */
protected Size2D drawVertical(Graphics2D g2, Rectangle2D chartArea) {

    double startX = 0.0;
    double topSpace = 0.0;
    double bottomSpace = 0.0;
    double leftSpace = 0.0;
    double rightSpace = 0.0;

    double w = getWidth();
    double h = getHeight();
    
    RectangleInsets padding = getPadding();
    if (padding != null) {
        topSpace = padding.calculateTopOutset(h);
        bottomSpace = padding.calculateBottomOutset(h);
        leftSpace = padding.calculateLeftOutset(w);
        rightSpace = padding.calculateRightOutset(w);
    }

    if (getPosition() == RectangleEdge.LEFT) {
        startX = chartArea.getX() + leftSpace;
    }
    else {
        startX = chartArea.getMaxX() - rightSpace - w;
    }

    // what is our alignment?
    VerticalAlignment alignment = getVerticalAlignment();
    double startY = 0.0;
    if (alignment == VerticalAlignment.CENTER) {
        startY = chartArea.getMinY() + topSpace 
                 + chartArea.getHeight() / 2.0 - h / 2.0;
    }
    else if (alignment == VerticalAlignment.TOP) {
        startY = chartArea.getMinY() + topSpace;
    }
    else if (alignment == VerticalAlignment.BOTTOM) {
        startY = chartArea.getMaxY() - bottomSpace - h;
    }

    g2.drawImage(this.image, (int) startX, (int) startY, (int) w, (int) h, 
            null);

    return new Size2D(chartArea.getWidth() + leftSpace + rightSpace,
        h + topSpace + bottomSpace);

}
 
Example 18
Source File: ImageTitle.java    From ccu-historian with GNU General Public License v3.0 4 votes vote down vote up
/**
 * Draws the title on a Java 2D graphics device (such as the screen or a
 * printer).
 *
 * @param g2  the graphics device.
 * @param chartArea  the area within which the title (and plot) should be
 *                   drawn.
 *
 * @return The size of the area used by the title.
 */
protected Size2D drawVertical(Graphics2D g2, Rectangle2D chartArea) {

    double startX;
    double topSpace = 0.0;
    double bottomSpace = 0.0;
    double leftSpace = 0.0;
    double rightSpace = 0.0;

    double w = getWidth();
    double h = getHeight();

    RectangleInsets padding = getPadding();
    if (padding != null) {
        topSpace = padding.calculateTopOutset(h);
        bottomSpace = padding.calculateBottomOutset(h);
        leftSpace = padding.calculateLeftOutset(w);
        rightSpace = padding.calculateRightOutset(w);
    }

    if (getPosition() == RectangleEdge.LEFT) {
        startX = chartArea.getX() + leftSpace;
    }
    else {
        startX = chartArea.getMaxX() - rightSpace - w;
    }

    // what is our alignment?
    VerticalAlignment alignment = getVerticalAlignment();
    double startY = 0.0;
    if (alignment == VerticalAlignment.CENTER) {
        startY = chartArea.getMinY() + topSpace
                 + chartArea.getHeight() / 2.0 - h / 2.0;
    }
    else if (alignment == VerticalAlignment.TOP) {
        startY = chartArea.getMinY() + topSpace;
    }
    else if (alignment == VerticalAlignment.BOTTOM) {
        startY = chartArea.getMaxY() - bottomSpace - h;
    }

    g2.drawImage(this.image, (int) startX, (int) startY, (int) w, (int) h,
            null);

    return new Size2D(chartArea.getWidth() + leftSpace + rightSpace,
        h + topSpace + bottomSpace);

}
 
Example 19
Source File: ImageTitle.java    From ECG-Viewer with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Draws the title on a Java 2D graphics device (such as the screen or a
 * printer).
 *
 * @param g2  the graphics device.
 * @param chartArea  the area within which the title (and plot) should be
 *                   drawn.
 *
 * @return The size of the area used by the title.
 */
protected Size2D drawVertical(Graphics2D g2, Rectangle2D chartArea) {

    double startX;
    double topSpace = 0.0;
    double bottomSpace = 0.0;
    double leftSpace = 0.0;
    double rightSpace = 0.0;

    double w = getWidth();
    double h = getHeight();

    RectangleInsets padding = getPadding();
    if (padding != null) {
        topSpace = padding.calculateTopOutset(h);
        bottomSpace = padding.calculateBottomOutset(h);
        leftSpace = padding.calculateLeftOutset(w);
        rightSpace = padding.calculateRightOutset(w);
    }

    if (getPosition() == RectangleEdge.LEFT) {
        startX = chartArea.getX() + leftSpace;
    }
    else {
        startX = chartArea.getMaxX() - rightSpace - w;
    }

    // what is our alignment?
    VerticalAlignment alignment = getVerticalAlignment();
    double startY = 0.0;
    if (alignment == VerticalAlignment.CENTER) {
        startY = chartArea.getMinY() + topSpace
                 + chartArea.getHeight() / 2.0 - h / 2.0;
    }
    else if (alignment == VerticalAlignment.TOP) {
        startY = chartArea.getMinY() + topSpace;
    }
    else if (alignment == VerticalAlignment.BOTTOM) {
        startY = chartArea.getMaxY() - bottomSpace - h;
    }

    g2.drawImage(this.image, (int) startX, (int) startY, (int) w, (int) h,
            null);

    return new Size2D(chartArea.getWidth() + leftSpace + rightSpace,
        h + topSpace + bottomSpace);

}
 
Example 20
Source File: ImageTitle.java    From openstock with GNU General Public License v3.0 4 votes vote down vote up
/**
 * Draws the title on a Java 2D graphics device (such as the screen or a
 * printer).
 *
 * @param g2  the graphics device.
 * @param chartArea  the area within which the title (and plot) should be
 *                   drawn.
 *
 * @return The size of the area used by the title.
 */
protected Size2D drawVertical(Graphics2D g2, Rectangle2D chartArea) {

    double startX;
    double topSpace = 0.0;
    double bottomSpace = 0.0;
    double leftSpace = 0.0;
    double rightSpace = 0.0;

    double w = getWidth();
    double h = getHeight();

    RectangleInsets padding = getPadding();
    if (padding != null) {
        topSpace = padding.calculateTopOutset(h);
        bottomSpace = padding.calculateBottomOutset(h);
        leftSpace = padding.calculateLeftOutset(w);
        rightSpace = padding.calculateRightOutset(w);
    }

    if (getPosition() == RectangleEdge.LEFT) {
        startX = chartArea.getX() + leftSpace;
    }
    else {
        startX = chartArea.getMaxX() - rightSpace - w;
    }

    // what is our alignment?
    VerticalAlignment alignment = getVerticalAlignment();
    double startY = 0.0;
    if (alignment == VerticalAlignment.CENTER) {
        startY = chartArea.getMinY() + topSpace
                 + chartArea.getHeight() / 2.0 - h / 2.0;
    }
    else if (alignment == VerticalAlignment.TOP) {
        startY = chartArea.getMinY() + topSpace;
    }
    else if (alignment == VerticalAlignment.BOTTOM) {
        startY = chartArea.getMaxY() - bottomSpace - h;
    }

    g2.drawImage(this.image, (int) startX, (int) startY, (int) w, (int) h,
            null);

    return new Size2D(chartArea.getWidth() + leftSpace + rightSpace,
        h + topSpace + bottomSpace);

}