mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-08-12 00:44:16 +02:00
Update to v094r42 release.
byuu says: I imagine you guys will like this WIP very much. Changelog: - ListView check boxes on Windows - ListView removal of columns on reset (changing input dropdowns) - DirectSound audio duplication on latency change - DirectSound crash on 20ms latency - Fullscreen window sizing in multi-monitor setups - Allow joypad bindings of hotkeys - Allow triggers to be mapped (Xbox 360 / XInput / Windows only) - Support joypad rumble for Game Boy Player - Video scale settings modified from {1x,2x,3x} to {2x,3x,4x} - System menu now renames to active emulation core - Added fast forward hotkey Not changing for v095: - not adding input focus settings yet - not adding shaders yet Not changing at all: - not implementing maximize
This commit is contained in:
@@ -91,10 +91,8 @@ auto pWindow::setFont(const string& font) -> void {
|
||||
auto pWindow::setFullScreen(bool fullScreen) -> void {
|
||||
auto style = GetWindowLongPtr(hwnd, GWL_STYLE) & WS_VISIBLE;
|
||||
lock();
|
||||
if(fullScreen == false) {
|
||||
SetWindowLongPtr(hwnd, GWL_STYLE, style | (state().resizable ? ResizableStyle : FixedStyle));
|
||||
setGeometry(state().geometry);
|
||||
} else {
|
||||
if(fullScreen) {
|
||||
windowedGeometry = self().geometry();
|
||||
HMONITOR monitor = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONEAREST);
|
||||
MONITORINFOEX info;
|
||||
memset(&info, 0, sizeof(MONITORINFOEX));
|
||||
@@ -104,10 +102,13 @@ auto pWindow::setFullScreen(bool fullScreen) -> void {
|
||||
Geometry geometry = {rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top};
|
||||
SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_POPUP);
|
||||
Geometry margin = frameMargin();
|
||||
setGeometry({
|
||||
self().setGeometry({
|
||||
geometry.x() + margin.x(), geometry.y() + margin.y(),
|
||||
geometry.width() - margin.width(), geometry.height() - margin.height()
|
||||
});
|
||||
} else {
|
||||
SetWindowLongPtr(hwnd, GWL_STYLE, style | (state().resizable ? ResizableStyle : FixedStyle));
|
||||
self().setGeometry(windowedGeometry);
|
||||
}
|
||||
unlock();
|
||||
}
|
||||
@@ -116,7 +117,7 @@ auto pWindow::setGeometry(Geometry geometry) -> void {
|
||||
lock();
|
||||
Geometry margin = frameMargin();
|
||||
SetWindowPos(
|
||||
hwnd, NULL,
|
||||
hwnd, nullptr,
|
||||
geometry.x() - margin.x(), geometry.y() - margin.y(),
|
||||
geometry.width() + margin.width(), geometry.height() + margin.height(),
|
||||
SWP_NOZORDER | SWP_FRAMECHANGED
|
||||
|
Reference in New Issue
Block a user