metaforce/specter/include/Specter/ViewSystem.hpp

40 lines
1013 B
C++
Raw Normal View History

2015-11-26 00:24:01 +00:00
#ifndef SPECTER_VIEWSYSTEM_HPP
#define SPECTER_VIEWSYSTEM_HPP
#include "TextView.hpp"
2015-11-30 00:21:42 +00:00
#include "RootView.hpp"
2015-11-26 00:24:01 +00:00
namespace Specter
{
class ViewSystem
{
template <class Factory>
void init(Factory* factory, FontCache* fcache)
{
m_viewSystem.init(factory);
m_textSystem.init(factory, fcache);
2015-11-30 00:21:42 +00:00
m_splitViewSystem.init(factory);
2015-11-26 00:24:01 +00:00
}
public:
boo::IGraphicsDataFactory* m_factory = nullptr;
View::System m_viewSystem;
TextView::System m_textSystem;
2015-11-30 00:21:42 +00:00
RootView::SplitView::System m_splitViewSystem;
std::unique_ptr<boo::IGraphicsData> m_sysData;
2015-11-26 00:24:01 +00:00
2015-11-26 07:35:43 +00:00
Specter::FontTag m_mainFont;
Specter::FontTag m_monoFont;
2015-11-26 00:24:01 +00:00
ViewSystem() = default;
ViewSystem(const ViewSystem& other) = delete;
ViewSystem(ViewSystem&& other) = default;
ViewSystem& operator=(const ViewSystem& other) = delete;
ViewSystem& operator=(ViewSystem&& other) = default;
void init(boo::IGraphicsDataFactory* factory, FontCache* fcache);
};
}
#endif // SPECTER_VIEWSYSTEM_HPP