Listing 1: SCDrawingArea.hpp
class _Export SCDrawingArea : public IDrawingCanvas,
public IMouseHandler {
public:
SCDrawingArea(unsigned long id, IWindow * parent,IWindow * owner,
const IRectangle & rect = IRectangle(),
const IDrawingCanvas::Style & style =
IDrawingCanvas::defaultStyle());
virtual ~SCDrawingArea ( );
SCDrawingArea& openDiagram();
virtual SCElementView *selectedElement(IPoint point);
virtual SCElementView *selectedElement();
virtual SCDrawingArea& addAsFirst(SCElementView&);
virtual SCDrawingArea& addAsLast (SCElementView&);
protected:
virtual SCDrawingArea& prepareGraphic(SCElementView& graphic);
virtual IGList * graphicList() const; // hide it from "public"
virtual Boolean
mouseMoved ( IMouseEvent& event ),
mouseClicked ( IMouseClickEvent& event ),
mousePointerChange ( IMousePointerEvent& event );
virtual SCDrawingArea
&button1Down ( const IPoint& point ),
&button1Up ( const IPoint& point ),
&button1DoubleClick ( const IPoint& point ),
&button2Click ( const IPoint& point ),
&button2Down ( const IPoint& point ),
&button2Up ( const IPoint& point ),
&button2DoubleClick ( const IPoint& point );
private:
IGraphicContext gc;
SCElementView* moveGraphic;
SCElementView* selectedGraphic;
IGRectangle moveRect;
IPoint startingPt;
IPoint previousPt;
};
//End of File