/*
 * Copyright (c) 2012 Mateusz Piękos
 * Licensed under the simplified BSD license.
 * See Documentation/Licenses/BSD-simplified.txt for more information.
 */

#pragma once

namespace Swift {
    class WhiteboardLineElement;
    class WhiteboardFreehandPathElement;
    class WhiteboardRectElement;
    class WhiteboardPolygonElement;
    class WhiteboardTextElement;
    class WhiteboardEllipseElement;

    class WhiteboardElementVisitor {
    public:
        virtual ~WhiteboardElementVisitor() {}
        virtual void visit(WhiteboardLineElement& /*element*/) = 0;
        virtual void visit(WhiteboardFreehandPathElement& /*element*/) = 0;
        virtual void visit(WhiteboardRectElement& /*element*/) = 0;
        virtual void visit(WhiteboardPolygonElement& /*element*/) = 0;
        virtual void visit(WhiteboardTextElement& /*element*/) = 0;
        virtual void visit(WhiteboardEllipseElement& /*element*/) = 0;
    };
}