diff options
author | chai <chaifix@163.com> | 2018-05-20 23:37:11 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-05-20 23:37:11 +0800 |
commit | 51ba9cb2a6b0b9395a2912eadeb954c95e4c1d3c (patch) | |
tree | 58ce7d8b50c0d9a451d26bf0b3230b1c2e2f2782 /src/libjin/render/window.cpp | |
parent | adfda73e1810973a40b7bedd9a8edc3e7ab89e3c (diff) |
修改目录结构
Diffstat (limited to 'src/libjin/render/window.cpp')
-rw-r--r-- | src/libjin/render/window.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/libjin/render/window.cpp b/src/libjin/render/window.cpp index 1f55be8..1e58dd8 100644 --- a/src/libjin/render/window.cpp +++ b/src/libjin/render/window.cpp @@ -8,8 +8,8 @@ namespace jin namespace render { - shared Window* Window::g_wnd = 0; - + shared Window* Window::g_wnd = NULL; + Window::Window(): wnd(0), ctx(0) { } @@ -18,12 +18,23 @@ namespace render { } + bool Window::init(const SettingBase* setting) + { + static bool result = _init(setting); + return result; + } + + void Window::quit() + { + CallOnce(_quit()); + } + onlyonce bool Window::_init(const SettingBase* s) { if (SDL_Init(SDL_INIT_VIDEO) < 0) return false; - WindowSetting* setting = (WindowSetting*)s; + const WindowSetting* setting = (WindowSetting*)s; width = setting->width; height = setting->height; @@ -73,6 +84,12 @@ namespace render return true; } + onlyonce void Window::_quit() + { + SDL_DestroyWindow(wnd); + delete g_wnd; + } + SDL_Window* Window::getWnd() { return wnd; |