diff options
author | Mateusz Piekos <mateuszpiekos@gmail.com> | 2012-06-15 10:48:54 (GMT) |
---|---|---|
committer | Mateusz Piekos <mateuszpiekos@gmail.com> | 2012-06-15 10:48:54 (GMT) |
commit | 1dc6b7f7a3d96df848edad85c0d07d99340e3a3e (patch) | |
tree | db68d9c342293b18ce982a1eccbebde307ad0773 /Swiften/Whiteboard/Elements | |
parent | 70de68383506430c297056cd3389595fc696df1e (diff) | |
download | swift-contrib-1dc6b7f7a3d96df848edad85c0d07d99340e3a3e.zip swift-contrib-1dc6b7f7a3d96df848edad85c0d07d99340e3a3e.tar.bz2 |
Moved serialization of elements to WhiteboardSerializer
Diffstat (limited to 'Swiften/Whiteboard/Elements')
-rw-r--r-- | Swiften/Whiteboard/Elements/WhiteboardElement.h | 21 | ||||
-rw-r--r-- | Swiften/Whiteboard/Elements/WhiteboardElementVisitor.h | 17 | ||||
-rw-r--r-- | Swiften/Whiteboard/Elements/WhiteboardLineElement.h | 47 |
3 files changed, 85 insertions, 0 deletions
diff --git a/Swiften/Whiteboard/Elements/WhiteboardElement.h b/Swiften/Whiteboard/Elements/WhiteboardElement.h new file mode 100644 index 0000000..5095506 --- /dev/null +++ b/Swiften/Whiteboard/Elements/WhiteboardElement.h @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2012 Mateusz Piękos + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include <boost/shared_ptr.hpp> +#include <Swiften/Whiteboard/Elements/WhiteboardElementVisitor.h> + +namespace Swift { + class WhiteboardElement { + public: + typedef boost::shared_ptr<WhiteboardElement> ref; + + public: + virtual ~WhiteboardElement() {} + virtual void accept(WhiteboardElementVisitor& visitor) = 0; + }; +} diff --git a/Swiften/Whiteboard/Elements/WhiteboardElementVisitor.h b/Swiften/Whiteboard/Elements/WhiteboardElementVisitor.h new file mode 100644 index 0000000..b5fd546 --- /dev/null +++ b/Swiften/Whiteboard/Elements/WhiteboardElementVisitor.h @@ -0,0 +1,17 @@ +/* + * 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 WhiteboardElementVisitor { + public: + virtual ~WhiteboardElementVisitor() {} + virtual void visit(const WhiteboardLineElement* /*element*/) = 0; + }; +} diff --git a/Swiften/Whiteboard/Elements/WhiteboardLineElement.h b/Swiften/Whiteboard/Elements/WhiteboardLineElement.h new file mode 100644 index 0000000..b64e397 --- /dev/null +++ b/Swiften/Whiteboard/Elements/WhiteboardLineElement.h @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2012 Mateusz Piękos + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#pragma once + +#include <Swiften/Whiteboard/Elements/WhiteboardElement.h> + +namespace Swift { + class WhiteboardLineElement : public WhiteboardElement { + public: + typedef boost::shared_ptr<WhiteboardLineElement> ref; + public: + WhiteboardLineElement(int x1, int y1, int x2, int y2) { + x1_ = x1; + y1_ = y1; + x2_ = x2; + y2_ = y2; + } + + int x1() const { + return x1_; + } + + int y1() const { + return y1_; + } + + int x2() const { + return x2_; + } + + int y2() const { + return y2_; + } + + void accept(WhiteboardElementVisitor& visitor) { + visitor.visit(this); + } + + private: + int x1_, y1_, x2_, y2_; + std::string id; + }; +} |