package org.korsakow.ide.resources.media; import java.awt.Component; import java.awt.Dimension; /** * Represents a media that can be controlled and displayed. * Media that doesnt support an operation is expected to just do nothing. * * @author d * */ public interface Playable { /** * If the operation does not make sense for the playable, the return is a 0,0 dimension * @return never null. */ Dimension getAspectRespectingDimension(Dimension outter); void setTime(long time); long getTime(); long getDuration(); void start(); void stop(); boolean isPlaying(); boolean isTemporal(); Component getComponent(); void dispose(); }