]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.diagram.connection/src/org/simantics/diagram/connection/rendering/arrows/PlainExampleLineEndStyle.java
Round corners between non-axis-aligned connection lines properly
[simantics/platform.git] / bundles / org.simantics.diagram.connection / src / org / simantics / diagram / connection / rendering / arrows / PlainExampleLineEndStyle.java
1 /*******************************************************************************
2  * Copyright (c) 2011 Association for Decentralized Information Management in
3  * Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.diagram.connection.rendering.arrows;
13
14 import java.awt.Graphics2D;
15 import java.awt.geom.AffineTransform;
16 import java.awt.geom.Rectangle2D;
17 import java.io.Serializable;
18
19 public enum PlainExampleLineEndStyle implements ILineEndStyle, Serializable {
20     INSTANCE;
21
22     public static final double space = 10.0;
23     
24     @Override
25     public void render(Graphics2D g, double x, double y, int dir) {
26         AffineTransform old = g.getTransform();
27         g.translate(x, y);
28         
29         //g.setColor(Color.BLACK);
30         g.fill(new Rectangle2D.Double(
31                 -10, -10, 20, 20
32                 ));
33         
34         g.setTransform(old);
35     }
36
37     @Override
38     public double getLineEndLength(int direction) {
39         return space;
40     }
41 }