Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef KEYSTYLE_H_INCLUDED
00011 #define KEYSTYLE_H_INCLUDED
00012
00013 #include <boost/shared_ptr.hpp>
00014 #include <boost/unordered_map.hpp>
00015
00016 #include "KEYStylesheet.h"
00017 #include "KEYTypes_fwd.h"
00018
00019 namespace libetonyek
00020 {
00021
00022 class KEYPropertyMap;
00023
00026 class KEYStyle
00027 {
00028 public:
00029 virtual ~KEYStyle() = 0;
00030
00036 virtual bool link(const KEYStylesheetPtr_t &stylesheet) = 0;
00037
00042 virtual void flatten() = 0;
00043
00046 virtual const KEYPropertyMap &getPropertyMap() const = 0;
00047 };
00048
00049 typedef boost::shared_ptr<KEYStyle> KEYStylePtr_t;
00050 typedef boost::unordered_map<ID_t, KEYStylePtr_t> KEYStyleMap_t;
00051
00052 }
00053
00054 #endif // KEYSTYLE_H_INCLUDED
00055
00056