MCPcopy Create free account
hub / github.com/NazaraEngine/NazaraEngine / WindowThread

Method WindowThread

src/Nazara/Platform/Win32/WindowImpl.cpp:1150–1169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1148 }
1149
1150 void WindowImpl::WindowThread(HWND* handle, DWORD styleEx, const String& title, DWORD style, bool fullscreen, const Rectui& dimensions, WindowImpl* window, Mutex* mutex, ConditionVariable* condition)
1151 {
1152 HWND& winHandle = *handle;
1153 winHandle = CreateWindowExW(styleEx, className, title.GetWideString().data(), style, dimensions.x, dimensions.y, dimensions.width, dimensions.height, nullptr, nullptr, GetModuleHandle(nullptr), window);
1154
1155 if (winHandle)
1156 window->PrepareWindow(fullscreen);
1157
1158 mutex->Lock();
1159 condition->Signal();
1160 mutex->Unlock(); // mutex and condition may be destroyed after this line
1161
1162 if (!winHandle)
1163 return;
1164
1165 while (window->m_threadActive)
1166 window->ProcessEvents(true);
1167
1168 DestroyWindow(winHandle);
1169 }
1170}

Callers

nothing calls this directly

Calls 6

GetWideStringMethod · 0.80
PrepareWindowMethod · 0.80
LockMethod · 0.45
SignalMethod · 0.45
UnlockMethod · 0.45
ProcessEventsMethod · 0.45

Tested by

no test coverage detected