covered most of gdi, in BaseWindow.h