00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef PEEKABOT_CIRCLE_OBJECT_HH_INCLUDED
00024 #define PEEKABOT_CIRCLE_OBJECT_HH_INCLUDED
00025
00026
00027 #include "SceneObject.hh"
00028 #include "ScalableObject.hh"
00029 #include "LineBased.hh"
00030 #include "HandlerInformer.hh"
00031
00032
00033 namespace peekabot
00034 {
00040 class CircleObject : public SceneObject,
00041 public ScalableObject,
00042 public LineBased
00043 {
00044 public:
00045 CircleObject();
00046
00047 CircleObject(ScopedHandler *handler);
00048
00049 virtual void accept(ObjectVisitor* visitor) throw();
00050
00051 virtual ObjectType get_object_type() const;
00052
00053 protected:
00054 virtual PropMap &get_prop_adapters();
00055
00056 private:
00060 static void start_handler(
00061 const std::string & name,
00062 XMLHandler::AttributeMap &attributes,
00063 ScopedHandler *handler) throw();
00064
00065 private:
00066 static HandlerInformer ms_handler_informer;
00067 };
00068 }
00069
00070
00071 #endif // PEEKABOT_CIRCLE_OBJECT_HH_INCLUDED