package org.archstudio.bna.things; import javax.media.opengl.GL2ES2; import org.archstudio.bna.IBNAModel; import org.archstudio.bna.IBNAView; import org.archstudio.bna.ICoordinateMapper; import org.archstudio.bna.IThing; import org.archstudio.bna.IThingPeer; import org.archstudio.bna.ui.IUIResources; import org.archstudio.bna.ui.jogl.IJOGLResources; import org.archstudio.bna.ui.swt.ISWTResources; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Rectangle; public abstract class AbstractThingPeer<T extends IThing> implements IThingPeer<T> // /* , IHasShadowPeer<T> <-- implement in your peer if you want shadows */{ protected final T t; protected final IBNAView view; protected final IBNAModel model; protected final ICoordinateMapper cm; public AbstractThingPeer(T thing, IBNAView view, ICoordinateMapper cm) { this.t = thing; this.view = view; this.model = view.getBNAWorld().getBNAModel(); this.cm = cm; } @Override public void dispose() { } @Override public boolean draw(Rectangle localBounds, IUIResources r) { return true; } @Override public void draw(GL2ES2 gl, Rectangle localBounds, IJOGLResources r) { } @Override public void draw(GC gc, Rectangle localBounds, ISWTResources r) { } public boolean drawShadow(Rectangle localBounds, IUIResources r) { return true; } public void drawShadow(GL2ES2 gl, Rectangle localBounds, IUIResources r) { } public void drawShadow(GC gc, Rectangle localBounds, IUIResources r) { } }