@@ -32,57 +32,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
3232#include " ../util/length.hpp"
3333
3434#include " style_sheet.hpp"
35+ #include " styled.hpp"
3536
3637namespace ruis {
3738
3839namespace res {
3940class font ;
4041} // namespace res
4142
42- template <typename styled_value_type>
43- class styled ;
44-
4543class style_provider
4644{
4745 template <typename styled_value_type>
4846 friend class styled ;
4947
50- class style_value_base
51- {
52- friend class style_provider ;
53-
54- protected:
55- virtual void reload (
56- const tml::forest& desc, //
57- const ruis::resource_loader& loader
58- ) = 0;
59-
60- style_value_base () = default ;
61-
62- public:
63- style_value_base (const style_value_base&) = delete ;
64- style_value_base& operator =(const style_value_base&) = delete ;
65-
66- style_value_base (style_value_base&&) = delete ;
67- style_value_base& operator =(style_value_base&&) = delete ;
68-
69- virtual ~style_value_base () = default ;
70- };
48+ mutable utki::enum_array<std::weak_ptr<internal::style_value_base>, style> standard_cache;
49+ mutable std::map<std::string, std::weak_ptr<internal::style_value_base>, std::less<>> user_cache;
7150
72- mutable utki::enum_array<std::weak_ptr<style_value_base>, style> standard_cache;
73- mutable std::map<std::string, std::weak_ptr<style_value_base>, std::less<>> user_cache;
74-
75- std::shared_ptr<const style_value_base> get_from_cache (style id) const ;
76- std::shared_ptr<const style_value_base> get_from_cache (std::string_view id) const ;
51+ std::shared_ptr<const internal::style_value_base> get_from_cache (style id) const ;
52+ std::shared_ptr<const internal::style_value_base> get_from_cache (std::string_view id) const ;
7753
7854 void store_to_cache (
7955 style id, //
80- std::weak_ptr<style_value_base> v
56+ std::weak_ptr<internal:: style_value_base> v
8157 ) const ;
8258
8359 void store_to_cache (
8460 std::string_view id, //
85- std::weak_ptr<style_value_base> v
61+ std::weak_ptr<internal:: style_value_base> v
8662 ) const ;
8763
8864public:
@@ -118,12 +94,6 @@ class style_provider
11894 styled<res::font> get_font_face_normal () const ;
11995};
12096
121- } // namespace ruis
122-
123- #include " styled.hpp"
124-
125- namespace ruis {
126-
12797template <typename value_type>
12898styled<value_type> style_provider::get (style id) const
12999{
0 commit comments