import java.awt.*;

// Interface for all things moveable, i.e.
// anything that could be dragged with a curser.
//
// Every moveable must have a reference point.
// When hit (mouse pressed), it must remember
// the difference from the cursor to the reference
// point
//
//
// Author:      Alexander Bogomolny, CTK Software, Inc.
// URL:         http://www.cut-the-knot.com
// Date:        November 30, 2000
// Copyright:   A. Bogomolny
//              Permission to use and modify the file is therefore granted
//              as long as this comment remains unchanged. Do this at your
//              own risk.
//
interface MMoveable
{
    // Reference is formed when a moveable
    // is hit or when it must be moved along
    // with another moveable
    //
    public void UpdateLocation(int x, int y);
    public boolean Inside(int x, int y);

    public void Draw(Graphics g);

    // filled shapes may obscure even their
    // own vertex names. Therefore, first
    // fill all shapes that need filling.
    // Then draw frames & names
    //
    public void DrawBackground(Graphics g);
    public void DrawFrame(Graphics g);
}