package com.drawbridge.vl.blocks;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Path2D;
import com.drawbridge.jsengine.ast.Evaluator;
import com.drawbridge.vl.VLCanvas;
import com.google.caja.lexer.FilePosition;
public class BlockAssignment extends Block
{
/**
*
*/
private static final long serialVersionUID = 6793854452490863161L;
private Path2D.Double mAssignmentPath = null;
public BlockAssignment(FilePosition filePosition, Evaluator eval) {
super(filePosition, eval, VLCanvas.LINE_HEIGHT - 20, Color.decode("#777777"), null, "=");
setImmutableProperties();
}
public BlockAssignment(BlockAssignment block){
super(block);
setImmutableProperties();
}
private void setImmutableProperties(){
this.remove(mRoundedText);
}
@Override
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, // Anti-alias!
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setColor(this.getColor());
if(mAssignmentPath == null)
mAssignmentPath = Block.getEqualityPath(0, 0, getWidth(), getHeight());
g2.fill(mAssignmentPath);
//Draw Rectangles
g2.setColor(Color.white);
int hh = (getHeight() / 2);
int hw = (getWidth() / 2);
g2.fillRect(hw-5, hh-5, 16, 2);
g2.fillRect(hw-5, hh+2, 16, 2);
}
@Override
public String generateCode()
{
return " = ";
}
}