// (c): Matti J. Katila package org.nongnu.libvob.buoy; import org.nongnu.libvob.VobScene; /** Manager for multiple buoy manager views of buoy oriented interface. */ public interface MultiBuoyManager { /** Draw all buoy managers, focis and buoys related to them, * into scene. * @see VobScene */ void draw(VobScene vs); /** Find the topmost buoy manager * from overlapping managers. */ BuoyManager findTopmostBuoyManager(VobScene oldVS, int x, int y); /** Find if a buoy was hit by the coordinates. * The buoy is only searched from coordinate system 0's * child coordinate systems. */ BuoyManager.Buoy findIfBuoyHit(VobScene oldVS, int x, int y); /** Get the last buoy which has been found * with findIfBuoyHit method. */ BuoyManager.Buoy getLastFoundBuoy(); /** Get the manager which has the last found buoy. */ BuoyManager getManagerByLastBuoyHit(); /** Set the active buoy manager. * Buo manager is also set if findIfBuoyHit * method founds a buoy. */ void setActiveBuoyManager(BuoyManager manager); /** Get the buoy manager which has been activated last. */ BuoyManager getActiveBuoyManager(); }