Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
75 lines (69 sloc) 2.01 KB
package flare.util.palette
{
import flare.util.Shapes;
/**
* Palette for shape values that maps integer indices to shape drawing
* functions.
* @see flare.vis.util.graphics.Shapes
*/
public class ShapePalette extends Palette
{
/**
* Creates a new, empty ShapePalette.
*/
public function ShapePalette() {
_values = new Array();
}
/**
* Adds a shape to this ShapePalette.
* @param shape the name of the shape. This name should be registered
* with a drawing function using the
* <code>flare.vis.util.graphics.Shapes</code> class.
*/
public function addShape(shape:String):void
{
_values.push(shape);
}
/**
* Gets the shape at the given index into the palette.
* @param idx the index of the shape
* @return the name of the shape
*/
public function getShape(idx:uint):String
{
return _values[idx % _values.length];
}
/**
* Sets the shape at the given index into the palette.
* @param idx the index of the shape
* @param shape the name of the shape. This name should be registered
* with a drawing function using the
* <code>flare.vis.util.graphics.Shapes</code> class.
*/
public function setShape(idx:uint, shape:String):void
{
_values[idx] = shape;
}
/**
* Returns a default shape palette instance. The default palette
* consists of (in order): circle, square, cross, "x", diamond,
* down-triangle, up-triangle, left-triangle, and right-triangle
* shapes.
* @return the default shape palette
*/
public static function defaultPalette():ShapePalette
{
var p:ShapePalette = new ShapePalette();
p.addShape(Shapes.CIRCLE);
p.addShape(Shapes.SQUARE);
p.addShape(Shapes.CROSS);
p.addShape(Shapes.X);
p.addShape(Shapes.DIAMOND);
p.addShape(Shapes.TRIANGLE_DOWN);
p.addShape(Shapes.TRIANGLE_UP);
p.addShape(Shapes.TRIANGLE_LEFT);
p.addShape(Shapes.TRIANGLE_RIGHT);
return p;
}
} // end of class ShapePalette
}
Jump to Line
Something went wrong with that request. Please try again.