package com.kartoflane.superluminal2.mvc.views;
import org.eclipse.swt.events.PaintEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.graphics.Transform;
import com.kartoflane.superluminal2.core.Grid;
public class CellView extends BaseView {
public static final RGB GRID_RGB = new RGB(112, 112, 112);
public CellView() {
super();
setBorderColor(GRID_RGB);
}
@Override
public void paintControl(PaintEvent e) {
if (alpha > 0) {
paintBorderSquare(e, borderColor, borderThickness, alpha);
}
}
@Override
public void redraw(PaintEvent e) {
if (visible && Grid.getInstance().isVisible()) {
boolean trans = getRotation() % 360 != 0 || flipX || flipY;
if (trans) {
e.gc.setAdvanced(true);
transform = new Transform(e.gc.getDevice());
Point p = model.getLocation();
transform.translate(p.x, p.y);
transform.rotate(getRotation());
transform.scale(flipX ? -1 : 1, flipY ? -1 : 1);
transform.translate(-p.x, -p.y);
e.gc.setTransform(transform);
}
paintControl(e);
if (trans) {
transform.dispose();
transform = null;
e.gc.setAdvanced(false);
}
}
}
@Override
public void updateView() {
}
}