1 #include "mof/Window.hpp"
2 #include "mof/InputDevice.hpp"
3 #include "mof/ConsoleIO.hpp"
6 LRESULT WINAPI wndProc( HWND hWnd , UINT msg, WPARAM wParam, LPARAM lParam)
11 if(LOWORD(wParam) == 0)
13 /* *ConsoleOut::getInstance() << "Window
\82ª
\94ñ
\83A
\83N
\83e
\83B
\83u
\82É
\82È
\82è
\82Ü
\82µ
\82½" << std::endl;
14 mof::System::getInstance()->activate(false);
15 mof::InputDevice::getInstance()->activate(false);*/
16 mof::InputDevice::setActivation(false);
20 /* *ConsoleOut::getInstance() << "Window
\82ª
\83A
\83N
\83e
\83B
\83u
\82É
\82È
\82è
\82Ü
\82µ
\82½" << std::endl;
21 mof::System::getInstance()->activate(true);
22 mof::InputDevice::getInstance()->activate(true);*/
23 mof::InputDevice::setActivation(true);
34 return DefWindowProc( hWnd, msg, wParam, lParam );
49 Impl(const mof::tstring& appname , HINSTANCE hInstance );
52 Window::Impl::Impl(const mof::tstring &appname, HINSTANCE hInstance )
53 : appName( appname ) , hInstance( hInstance ) , hWindow( NULL )
58 Window::Window( const mof::tstring &appname , int width , int height , bool fullscreen )
59 : m_pImpl( new mof::Window::Impl( appname , GetModuleHandle(NULL) ) )
62 //
\83E
\83B
\83\93\83h
\83E
\83N
\83\89\83X
\90Ý
\92è
65 sizeof(WNDCLASSEX), CS_CLASSDC, wndProc, 0L, 0L,
66 m_pImpl->hInstance , NULL, NULL, NULL, NULL,
67 m_pImpl->appName.c_str() , NULL
69 RegisterClassEx( &wc );
71 //
\83E
\83B
\83\93\83h
\83E
\90¶
\90¬
74 //
\8ew
\92è
\82³
\82ê
\82½
\83N
\83\89\83C
\83A
\83\93\83g
\97Ì
\88æ
\82ð
\8am
\95Û
\82·
\82é
\82½
\82ß
\82É
\95K
\97v
\82È
\83E
\83B
\83\93\83h
\83E
\83T
\83C
\83Y
\82ð
\93¾
\82é
76 SetRect( &rect_win , 0 , 0 , width , height );
77 AdjustWindowRect( &rect_win , WS_OVERLAPPEDWINDOW , false );
79 //Window
\83\82\81[
\83h
83 m_pImpl->appName.c_str() , m_pImpl->appName.c_str() ,
84 WS_OVERLAPPEDWINDOW , CW_USEDEFAULT, CW_USEDEFAULT, (rect_win.right - rect_win.left) ,
85 (rect_win.bottom - rect_win.top) , GetDesktopWindow() , NULL , wc.hInstance , NULL
90 //
\83t
\83\8b\83X
\83N
\83\8a\81[
\83\93
94 m_pImpl->appName.c_str() , m_pImpl->appName.c_str() ,
95 WS_VISIBLE , CW_USEDEFAULT , CW_USEDEFAULT , width , height ,
96 HWND_DESKTOP , NULL , wc.hInstance , NULL
101 //
\83E
\83B
\83\93\83h
\83E
\95`
\89æ
102 ShowWindow( m_pImpl->hWindow , SW_SHOWDEFAULT );
103 UpdateWindow( m_pImpl->hWindow );
106 } // function constructor
115 //
\97á
\8aO
\82È
\82°
\82é
\81H
116 UnregisterClass(m_pImpl->appName.c_str() , m_pImpl->hInstance );
124 HWND Window::getHandler() const {
125 return m_pImpl->hWindow;