Allow specifying the color and stroke with which an edge is to be
rendered. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1468 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
//
|
//
|
||||||
// $Id: Edge.java,v 1.2 2002/06/15 01:59:12 shaper Exp $
|
// $Id: Edge.java,v 1.3 2002/06/15 02:13:11 shaper Exp $
|
||||||
|
|
||||||
package com.threerings.nodemap;
|
package com.threerings.nodemap;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Stroke;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The edge class represents an edge connecting two nodes.
|
* The edge class represents an edge connecting two nodes.
|
||||||
@@ -35,6 +37,24 @@ public abstract class Edge
|
|||||||
*/
|
*/
|
||||||
public abstract void paint (Graphics g);
|
public abstract void paint (Graphics g);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the color used to render the edge, or <code>null</code> (the
|
||||||
|
* default) to use the current graphics context color.
|
||||||
|
*/
|
||||||
|
public void setColor (Color color)
|
||||||
|
{
|
||||||
|
_color = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the stroke used to render the edge, or <code>null</code> (the
|
||||||
|
* default) to use the current graphics context stroke.
|
||||||
|
*/
|
||||||
|
public void setStroke (Stroke stroke)
|
||||||
|
{
|
||||||
|
_stroke = stroke;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a string representation of this edge.
|
* Return a string representation of this edge.
|
||||||
*/
|
*/
|
||||||
@@ -55,4 +75,10 @@ public abstract class Edge
|
|||||||
buf.append("src=").append(src);
|
buf.append("src=").append(src);
|
||||||
buf.append(", dst=").append(dst);
|
buf.append(", dst=").append(dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** The edge color. */
|
||||||
|
protected Color _color;
|
||||||
|
|
||||||
|
/** The edge stroke. */
|
||||||
|
protected Stroke _stroke;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
//
|
//
|
||||||
// $Id: DirectionalEdge.java,v 1.4 2001/12/17 03:34:04 mdb Exp $
|
// $Id: DirectionalEdge.java,v 1.5 2002/06/15 02:13:11 shaper Exp $
|
||||||
|
|
||||||
package com.threerings.nodemap.direction;
|
package com.threerings.nodemap.direction;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Stroke;
|
||||||
|
|
||||||
import com.threerings.util.DirectionCodes;
|
import com.threerings.util.DirectionCodes;
|
||||||
|
|
||||||
@@ -35,14 +36,17 @@ public class DirectionalEdge extends Edge
|
|||||||
this.dir = dir;
|
this.dir = dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// documentation inherited
|
||||||
* Render the edge to the given graphics context.
|
|
||||||
*
|
|
||||||
* @param g the graphics context.
|
|
||||||
*/
|
|
||||||
public void paint (Graphics g)
|
public void paint (Graphics g)
|
||||||
{
|
{
|
||||||
g.setColor(Color.black);
|
Graphics2D gfx = (Graphics2D)g;
|
||||||
|
Stroke ostroke = gfx.getStroke();
|
||||||
|
if (_stroke != null) {
|
||||||
|
gfx.setStroke(_stroke);
|
||||||
|
}
|
||||||
|
if (_color != null) {
|
||||||
|
gfx.setColor(_color);
|
||||||
|
}
|
||||||
|
|
||||||
int sx = src.getX(), sy = src.getY();
|
int sx = src.getX(), sy = src.getY();
|
||||||
int dx = dst.getX(), dy = dst.getY();
|
int dx = dst.getX(), dy = dst.getY();
|
||||||
@@ -53,9 +57,11 @@ public class DirectionalEdge extends Edge
|
|||||||
int cdx = dx + (dst.getWidth() / 2);
|
int cdx = dx + (dst.getWidth() / 2);
|
||||||
int cdy = dy + (dst.getHeight() / 2);
|
int cdy = dy + (dst.getHeight() / 2);
|
||||||
|
|
||||||
g.drawLine(csx, csy, cdx, cdy);
|
gfx.drawLine(csx, csy, cdx, cdy);
|
||||||
|
gfx.setStroke(ostroke);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// documentation inherited
|
||||||
public void toString (StringBuffer buf)
|
public void toString (StringBuffer buf)
|
||||||
{
|
{
|
||||||
super.toString(buf);
|
super.toString(buf);
|
||||||
|
|||||||
Reference in New Issue
Block a user