static void resize(struct XWindow *xw, XSurface *surf) { XGetWindowAttributes(xw->dpy, xw->win, &xw->attr); xw->width = (unsigned int)xw->attr.width; xw->height = (unsigned int)xw->attr.height; surface_resize(surf, xw->width, xw->height); }
LRESULT CALLBACK wnd_proc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_DESTROY: PostQuitMessage(WM_QUIT); running = 0; quit = 1; break; case WM_SIZE: if (xw.backbuffer) { xw.width = LOWORD(lParam); xw.height = HIWORD(lParam); surface_resize(xw.backbuffer, xw.hdc, xw.width, xw.height); } break; default: return DefWindowProc(hWnd, msg, wParam, lParam); } return 0; }