package com.kartoflane.superluminal2.mvc.views; import org.eclipse.swt.events.PaintEvent; import com.kartoflane.superluminal2.ftl.GlowObject; import com.kartoflane.superluminal2.ftl.GlowSet.Glows; import com.kartoflane.superluminal2.mvc.models.ObjectModel; public class GlowView extends BaseView { public GlowView() { super(); setImage("cpath:/assets/station_glow.png"); setAlpha(255); setBorderColor(null); setBackgroundColor(null); } private ObjectModel getModel() { return (ObjectModel) model; } private GlowObject getGameObject() { return (GlowObject) getModel().getGameObject(); } @Override public void paintControl(PaintEvent e) { if (alpha > 0) { paintImage(e, image, cachedImageBounds, alpha); paintBorderSquare(e, borderColor, getBorderThickness(), alpha); } } @Override public void updateView() { if (controller.isSelected()) { setBorderColor(controller.isPinned() ? PIN_RGB : SELECT_RGB); setBackgroundColor(HIGHLIGHT_RGB); setBorderThickness(2); } else if (controller.isHighlighted()) { setBorderColor(HIGHLIGHT_RGB); setBackgroundColor(defaultBackground); setBorderThickness(3); } else { setBorderColor(defaultBorder); setBackgroundColor(defaultBackground); setBorderThickness(2); } String path = getGameObject().getGlowSet().getImage(Glows.BLUE); if (path == null) path = "cpath:/assets/station_glow.png"; setImage(path); } }