package com.kartoflane.superluminal2.mvc.views; import org.eclipse.swt.events.PaintEvent; import org.eclipse.swt.graphics.Color; import com.kartoflane.superluminal2.mvc.Controller; import com.kartoflane.superluminal2.mvc.controllers.ShipController; public class ShipView extends BaseView { public ShipView() { super(); setBorderColor(0, 0, 0); setBackgroundColor(0, 255, 255); setDefaultBorderColor(0, 0, 0); setDefaultBackgroundColor(0, 255, 255); setBorderThickness(3); } @Override public void setController(Controller controller) { this.controller = (ShipController) controller; } @Override public void paintControl(PaintEvent e) { if (alpha > 0) { Color prevFgColor = e.gc.getForeground(); paintBackgroundSquare(e, backgroundColor, alpha); paintBorderSquare(e, borderColor, getBorderThickness(), alpha); e.gc.setForeground(prevFgColor); } } @Override public void updateView() { setBackgroundColor(defaultBackground); if (controller.isSelected()) { setBorderColor(controller.isPinned() ? PIN_RGB : SELECT_RGB); } else if (controller.isHighlighted()) { setBorderColor(HIGHLIGHT_RGB); } else { setBorderColor(defaultBorder); } } }