15 struct __GLXcontextRec;
29 template <
typename WindowType>
30 std::shared_ptr<WindowType> Create(
typename WindowType::Parameters& parameters);
33 bool Create(_XDisplay*& display, __GLXcontextRec*& context,
unsigned long& window);
35 template <
typename WindowType>
36 void Destroy(std::shared_ptr<WindowType>& window);
44 template <
typename WindowType>
45 void MessagePump(std::shared_ptr<WindowType>
const& window,
unsigned int flags);
53 std::map<unsigned long, std::shared_ptr<Window>>
mWindowMap;
58 template <
typename WindowType>
61 CreateFrom(parameters);
62 if (parameters.created)
64 std::shared_ptr<WindowType> window = std::make_shared<WindowType>(parameters);
65 mWindowMap[parameters.window] = window;
66 if (parameters.created)
76 template <
typename WindowType>
81 mWindowMap.erase(window->mWindow);
87 template <
typename WindowType>
96 int result = window->ProcessedEvent();
104 if (!(flags & NO_IDLE_LOOP))
106 if (!window->IsMinimized())
void MessagePump(std::shared_ptr< WindowType > const &window, unsigned int flags)
std::shared_ptr< WindowType > Create(typename WindowType::Parameters ¶meters)
std::map< unsigned long, std::shared_ptr< Window > > mWindowMap
void Destroy(std::shared_ptr< WindowType > &window)
char const * mDisplayName
GTE_IMPEXP WindowSystem TheWindowSystem