aboutsummaryrefslogtreecommitdiff
path: root/src/libui_sdl/libui/windows/winutil.cpp
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2020-04-25 18:51:08 +0200
committerArisotura <thetotalworm@gmail.com>2020-04-25 18:51:08 +0200
commita85d41c53eed50f188502925ed34674397b86550 (patch)
treee33b042b8114f7ad587257d79bad021d5e617a44 /src/libui_sdl/libui/windows/winutil.cpp
parent3b3a09ed2b7a1f3d6f81ba6d1ddd7fbf17acd52d (diff)
berp.
Diffstat (limited to 'src/libui_sdl/libui/windows/winutil.cpp')
-rw-r--r--src/libui_sdl/libui/windows/winutil.cpp143
1 files changed, 0 insertions, 143 deletions
diff --git a/src/libui_sdl/libui/windows/winutil.cpp b/src/libui_sdl/libui/windows/winutil.cpp
deleted file mode 100644
index 2552893..0000000
--- a/src/libui_sdl/libui/windows/winutil.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// 6 april 2015
-#include "uipriv_windows.hpp"
-
-// this is a helper function that takes the logic of determining window classes and puts it all in one place
-// there are a number of places where we need to know what window class an arbitrary handle has
-// theoretically we could use the class atom to avoid a _wcsicmp()
-// however, raymond chen advises against this - http://blogs.msdn.com/b/oldnewthing/archive/2004/10/11/240744.aspx (and we're not in control of the Tab class, before you say anything)
-// usage: windowClassOf(hwnd, L"class 1", L"class 2", ..., NULL)
-int windowClassOf(HWND hwnd, ...)
-{
-// MSDN says 256 is the maximum length of a class name; add a few characters just to be safe (because it doesn't say whether this includes the terminating null character)
-#define maxClassName 260
- WCHAR classname[maxClassName + 1];
- va_list ap;
- WCHAR *curname;
- int i;
-
- if (GetClassNameW(hwnd, classname, maxClassName) == 0) {
- logLastError(L"error getting name of window class");
- // assume no match on error, just to be safe
- return -1;
- }
- va_start(ap, hwnd);
- i = 0;
- for (;;) {
- curname = va_arg(ap, WCHAR *);
- if (curname == NULL)
- break;
- if (_wcsicmp(classname, curname) == 0) {
- va_end(ap);
- return i;
- }
- i++;
- }
- // no match
- va_end(ap);
- return -1;
-}
-
-// wrapper around MapWindowRect() that handles the complex error handling
-void mapWindowRect(HWND from, HWND to, RECT *r)
-{
- RECT prevr;
- DWORD le;
-
- prevr = *r;
- SetLastError(0);
- if (MapWindowRect(from, to, r) == 0) {
- le = GetLastError();
- SetLastError(le); // just to be safe
- if (le != 0) {
- logLastError(L"error calling MapWindowRect()");
- // restore original rect on error, just in case
- *r = prevr;
- }
- }
-}
-
-DWORD getStyle(HWND hwnd)
-{
- return (DWORD) GetWindowLongPtrW(hwnd, GWL_STYLE);
-}
-
-void setStyle(HWND hwnd, DWORD style)
-{
- SetWindowLongPtrW(hwnd, GWL_STYLE, (LONG_PTR) style);
-}
-
-DWORD getExStyle(HWND hwnd)
-{
- return (DWORD) GetWindowLongPtrW(hwnd, GWL_EXSTYLE);
-}
-
-void setExStyle(HWND hwnd, DWORD exstyle)
-{
- SetWindowLongPtrW(hwnd, GWL_EXSTYLE, (LONG_PTR) exstyle);
-}
-
-// see http://blogs.msdn.com/b/oldnewthing/archive/2003/09/11/54885.aspx and http://blogs.msdn.com/b/oldnewthing/archive/2003/09/13/54917.aspx
-void clientSizeToWindowSize(HWND hwnd, int *width, int *height, BOOL hasMenubar)
-{
- RECT window;
-
- window.left = 0;
- window.top = 0;
- window.right = *width;
- window.bottom = *height;
- if (AdjustWindowRectEx(&window, getStyle(hwnd), hasMenubar, getExStyle(hwnd)) == 0) {
- logLastError(L"error getting adjusted window rect");
- // on error, don't give up; the window will be smaller but whatever
- window.left = 0;
- window.top = 0;
- window.right = *width;
- window.bottom = *height;
- }
- if (hasMenubar) {
- RECT temp;
-
- temp = window;
- temp.bottom = 0x7FFF; // infinite height
- SendMessageW(hwnd, WM_NCCALCSIZE, (WPARAM) FALSE, (LPARAM) (&temp));
- window.bottom += temp.top;
- }
- *width = window.right - window.left;
- *height = window.bottom - window.top;
-}
-
-HWND parentOf(HWND child)
-{
- return GetAncestor(child, GA_PARENT);
-}
-
-HWND parentToplevel(HWND child)
-{
- return GetAncestor(child, GA_ROOT);
-}
-
-void setWindowInsertAfter(HWND hwnd, HWND insertAfter)
-{
- if (SetWindowPos(hwnd, insertAfter, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOSIZE) == 0)
- logLastError(L"error reordering window");
-}
-
-HWND getDlgItem(HWND hwnd, int id)
-{
- HWND out;
-
- out = GetDlgItem(hwnd, id);
- if (out == NULL)
- logLastError(L"error getting dialog item handle");
- return out;
-}
-
-void invalidateRect(HWND hwnd, RECT *r, BOOL erase)
-{
- if (InvalidateRect(hwnd, r, erase) == 0)
- logLastError(L"error invalidating window rect");
-}
-
-D2D1_SIZE_F realGetSize(ID2D1RenderTarget *rt)
-{
- return rt->GetSize();
-}