1234567891011121314151617181920212223242526272829 |
- namespace hiro {
- struct Settings {
- Settings();
- ~Settings();
- //Windows 8+ draws windows with almost no visible borders
- //to allow resizing the window, the OS places transparent margins around each window
- //this causes AdjustFrameRect and SetWindowPos to hold values larger than the actual window
- //as a result, attempts to call Window::setAlignment(Window) fail to position windows correctly
- //pWindow::setVisible() attempts to compute the actual window bounds to correct Window::frameMargin()
- //note: different window styles have different extended frame bounds
- struct ExtendedFrameBounds {
- uint x = 0;
- uint y = 0;
- uint width = 0;
- uint height = 0;
- };
- //these are the default values for Windows 10 ... they will be updated later if they are incorrect
- ExtendedFrameBounds efbPopup { 0, 0, 0, 0};
- ExtendedFrameBounds efbFixed { 2, 0, 4, 2};
- ExtendedFrameBounds efbResizable{10, 0, 20, 10};
- };
- static Settings settings;
- }
|