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 " = "; } }