bool BaseManager::create(int _width, int _height) { const unsigned int width = _width; const unsigned int height = _height; bool windowed = true; // регистрируем класс окна WNDCLASS wc = { 0, (WNDPROC)DXWndProc, 0, 0, GetModuleHandle(NULL), LoadIcon(NULL, MAKEINTRESOURCE(1001)), LoadCursor(NULL, IDC_ARROW), (HBRUSH)GetStockObject(BLACK_BRUSH), NULL, TEXT(WND_CLASS_NAME), }; RegisterClass(&wc); // создаем главное окно hWnd = CreateWindow(wc.lpszClassName, TEXT("OpenGL3 Render Window"), WS_POPUP, 0, 0, 0, 0, GetDesktopWindow(), NULL, wc.hInstance, this); if (!hWnd) { //OutException("fatal error!", "failed create window"); return false; } #if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32 char buf[MAX_PATH]; ::GetModuleFileNameA(0, (LPCH)&buf, MAX_PATH); HINSTANCE instance = ::GetModuleHandleA(buf); HICON hIconSmall = static_cast<HICON>(LoadImage(instance, MAKEINTRESOURCE(1001), IMAGE_ICON, 32, 32, LR_DEFAULTSIZE)); HICON hIconBig = static_cast<HICON>(LoadImage(instance, MAKEINTRESOURCE(1001), IMAGE_ICON, 256, 256, LR_DEFAULTSIZE)); if (hIconSmall) ::SendMessageA(hWnd, WM_SETICON, 0, (LPARAM)hIconSmall); if (hIconBig) ::SendMessageA(hWnd, WM_SETICON, 1, (LPARAM)hIconBig); #endif hInstance = wc.hInstance; windowAdjustSettings(hWnd, width, height, !windowed); if (!createRender(width, height, windowed)) { return false; } createGui(); createInput((size_t)hWnd); createPointerManager((size_t)hWnd); createScene(); _windowResized(); return true; }
bool BaseManager::create() { const unsigned int width = 1024; const unsigned int height = 768; bool windowed = true; // регистрируем класс окна WNDCLASS wc = { 0, (WNDPROC)DXWndProc, 0, 0, GetModuleHandle(NULL), LoadIcon(NULL, MAKEINTRESOURCE(1001)), LoadCursor(NULL, IDC_ARROW), (HBRUSH)GetStockObject(BLACK_BRUSH), NULL, TEXT(WND_CLASS_NAME), }; RegisterClass(&wc); // создаем главное окно hWnd = CreateWindow(wc.lpszClassName, TEXT("Direct3D9 Render Window"), WS_POPUP, 0, 0, 0, 0, GetDesktopWindow(), NULL, wc.hInstance, this); if (!hWnd) { //OutException("fatal error!", "failed create window"); return false; } #if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32 // берем имя нашего экзешника char buf[MAX_PATH]; ::GetModuleFileNameA(0, (LPCH)&buf, MAX_PATH); // берем инстанс нашего модуля HINSTANCE instance = ::GetModuleHandleA(buf); // побыстрому грузим иконку HICON hIcon = ::LoadIcon(instance, MAKEINTRESOURCE(1001)); if (hIcon) { ::SendMessageA((HWND)hWnd, WM_SETICON, 1, (LPARAM)hIcon); ::SendMessageA((HWND)hWnd, WM_SETICON, 0, (LPARAM)hIcon); } #endif hInstance = wc.hInstance; windowAdjustSettings(hWnd, width, height, !windowed); createRender(width, height, windowed); createGui(); createInput((size_t)hWnd); createPointerManager((size_t)hWnd); createScene(); _windowResized(); return true; }
void BaseManager::registerWindow(HWND _hWnd, HGE* _mpHGE, bool _isWindowed) { hWnd = _hWnd; mpHGE = _mpHGE; #if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32 char buf[MAX_PATH]; ::GetModuleFileNameA(0, (LPCH)&buf, MAX_PATH); HINSTANCE instance = ::GetModuleHandleA(buf); HICON hIcon = ::LoadIcon(instance, MAKEINTRESOURCE(1001)); if (hIcon) { ::SendMessageA((HWND)hWnd, WM_SETICON, 1, (LPARAM)hIcon); ::SendMessageA((HWND)hWnd, WM_SETICON, 0, (LPARAM)hIcon); } #endif hInstance = instance; RECT rect = { 0, 0, 0, 0 }; GetClientRect(hWnd, &rect); int width = rect.right - rect.left; int height = rect.bottom - rect.top; windowAdjustSettings(hWnd, width, height, !_isWindowed); //createRender(width, height, _isWindowed); createGui(); createInput((size_t)hWnd); createPointerManager((size_t)hWnd); createScene(); _windowResized(); }
bool BaseManager::create() { const unsigned int width = 1024; const unsigned int height = 768; bool windowed = true; mpHGE = hgeCreate(HGE_VERSION); if (!mpHGE) return false; mpHGE->System_SetState(HGE_WINDOWED, windowed); mpHGE->System_SetState(HGE_SCREENWIDTH, width); mpHGE->System_SetState(HGE_SCREENHEIGHT, height); mpHGE->System_SetState(HGE_USESOUND, false); mpHGE->System_SetState(HGE_HIDEMOUSE, false); mpHGE->System_SetState(HGE_SHOWSPLASH, true); mpHGE->System_SetState(HGE_FPS, 100); mpHGE->System_SetState(HGE_LOGFILE, "hge.log"); mpHGE->System_SetState(HGE_FRAMEFUNC, frame); if (!mpHGE->System_Initiate()) return false; hWnd = mpHGE->System_GetState(HGE_HWND); //hgeSprite *portalSprite; //HTEXTURE hPortal = mpHGE->Texture_Load("resources/gems.png"); //portalSprite = new hgeSprite(hPortal, 0, 31, 32, 32); //portalSprite->Render(0, 0); /* WNDCLASS wc = { 0, (WNDPROC)DXWndProc, 0, 0, GetModuleHandle(NULL), LoadIcon(NULL, MAKEINTRESOURCE(1001)), LoadCursor(NULL, IDC_ARROW), (HBRUSH)GetStockObject(BLACK_BRUSH), NULL, TEXT(WND_CLASS_NAME), }; RegisterClass(&wc); hWnd = CreateWindow(wc.lpszClassName, TEXT("Direct3D9 Render Window"), WS_POPUP, 0, 0, 0, 0, GetDesktopWindow(), NULL, wc.hInstance, this); if (!hWnd) { //OutException("fatal error!", "failed create window"); return false; } */ #if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32 char buf[MAX_PATH]; ::GetModuleFileNameA(0, (LPCH)&buf, MAX_PATH); HINSTANCE instance = ::GetModuleHandleA(buf); HICON hIcon = ::LoadIcon(instance, MAKEINTRESOURCE(1001)); if (hIcon) { ::SendMessageA((HWND)hWnd, WM_SETICON, 1, (LPARAM)hIcon); ::SendMessageA((HWND)hWnd, WM_SETICON, 0, (LPARAM)hIcon); } #endif hInstance = instance; windowAdjustSettings(hWnd, width, height, !windowed); createRender(width, height, windowed); createGui(); createInput((size_t)hWnd); createPointerManager((size_t)hWnd); createScene(); _windowResized(); return true; }