00001 /* 00002 * Copyright (c) 2012 Mateusz Piękos 00003 * Licensed under the simplified BSD license. 00004 * See Documentation/Licenses/BSD-simplified.txt for more information. 00005 */ 00006 00007 #pragma once 00008 00009 namespace Swift { 00010 class WhiteboardLineElement; 00011 class WhiteboardFreehandPathElement; 00012 class WhiteboardRectElement; 00013 class WhiteboardPolygonElement; 00014 class WhiteboardTextElement; 00015 class WhiteboardEllipseElement; 00016 00017 class WhiteboardElementVisitor { 00018 public: 00019 virtual ~WhiteboardElementVisitor() {} 00020 virtual void visit(WhiteboardLineElement& /*element*/) = 0; 00021 virtual void visit(WhiteboardFreehandPathElement& /*element*/) = 0; 00022 virtual void visit(WhiteboardRectElement& /*element*/) = 0; 00023 virtual void visit(WhiteboardPolygonElement& /*element*/) = 0; 00024 virtual void visit(WhiteboardTextElement& /*element*/) = 0; 00025 virtual void visit(WhiteboardEllipseElement& /*element*/) = 0; 00026 }; 00027 }