mirror of https://github.com/PCSX2/pcsx2.git
GS Window: Zoom Keyboard control: Now works with CTRL/CMD (leaves the numpad keys available for the pad plugin).
Zoom In: CTRL + NUMPAD-PLUS Zoom Out: CTRL + NUMPAD-MINUS Toggle 100%/Auto-zoom: CTRL + NUMPAD-* git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4534 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
921c2352ef
commit
c38c5ce72a
|
@ -47,9 +47,9 @@ void GSPanel::InitDefaultAccelerators()
|
|||
|
||||
m_Accels->Map( AAC( WXK_F6 ), "GSwindow_CycleAspectRatio" );
|
||||
|
||||
m_Accels->Map( AAC( WXK_NUMPAD_ADD ), "GSwindow_ZoomIn" );
|
||||
m_Accels->Map( AAC( WXK_NUMPAD_SUBTRACT ), "GSwindow_ZoomOut" );
|
||||
m_Accels->Map( AAC( WXK_NUMPAD_MULTIPLY ), "GSwindow_ZoomToggle" );
|
||||
m_Accels->Map( AAC( WXK_NUMPAD_ADD ).Cmd(), "GSwindow_ZoomIn" ); //CTRL on Windows (probably linux too), CMD on OSX
|
||||
m_Accels->Map( AAC( WXK_NUMPAD_SUBTRACT ).Cmd(), "GSwindow_ZoomOut" );
|
||||
m_Accels->Map( AAC( WXK_NUMPAD_MULTIPLY ).Cmd(), "GSwindow_ZoomToggle" );
|
||||
|
||||
m_Accels->Map( AAC( WXK_ESCAPE ), "Sys_Suspend" );
|
||||
m_Accels->Map( AAC( WXK_F8 ), "Sys_TakeSnapshot" );
|
||||
|
@ -151,33 +151,6 @@ void GSPanel::DoResize()
|
|||
zoom = max( (float)arr, (float)(1.0/arr) );
|
||||
|
||||
viewport.Scale(zoom, zoom);
|
||||
/*
|
||||
|
||||
switch( g_Conf->GSWindow.AspectRatio )
|
||||
{
|
||||
case AspectRatio_Stretch:
|
||||
// Default to matching client size.
|
||||
// Add a few pixels here, so the outermost pixels of the GS plugin output are "hidden".
|
||||
// This avoids issues with flashing pixels on the edges, especially when Anti Aliasing is used.
|
||||
viewport.x+=4;
|
||||
viewport.y+=4;
|
||||
break;
|
||||
|
||||
case AspectRatio_4_3:
|
||||
if( client.x/4 <= client.y/3 )
|
||||
viewport.y = (int)(client.x * (3.0/4.0));
|
||||
else
|
||||
viewport.x = (int)(client.y * (4.0/3.0));
|
||||
break;
|
||||
|
||||
case AspectRatio_16_9:
|
||||
if( client.x/16 <= client.y/9 )
|
||||
viewport.y = (int)(client.x * (9.0/16.0));
|
||||
else
|
||||
viewport.x = (int)(client.y * (16.0/9.0));
|
||||
break;
|
||||
}
|
||||
*/
|
||||
SetSize( viewport );
|
||||
CenterOnParent();
|
||||
}
|
||||
|
|
|
@ -182,7 +182,13 @@ namespace Implementations
|
|||
return;
|
||||
g_Conf->GSWindow.Zoom = zoom;
|
||||
Console.WriteLn(L"GSwindow: set zoom: %f", zoom);
|
||||
AppApplySettings();
|
||||
|
||||
//AppApplySettings() would have been nicer, since it also immidiately affects the GUI (if open).
|
||||
//However, the events sequence it generates also "depresses" Shift/CTRL/etc, so consecutive zoom with CTRL down breaks.
|
||||
//Since zoom only affects the window viewport anyway, we can live with directly calling it.
|
||||
if (GSFrame* gsFrame = wxGetApp().GetGsFramePtr())
|
||||
if (GSPanel* woot = gsFrame->GetViewport())
|
||||
woot->DoResize();
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue