Baring any last minute issues, it looks like I've finally finished with

the new FrameBuffer surface-based instrastructure.  Thank God, since it
was really starting to get on my nerves :(

Made the Alt- and Alt= keys (for changing videomodes) only be active
in TIA emulation mode.  This solves the final remaining positioning
issues with ContextMenus, since now a ContextMenu is never onscreen when
the VideoMode changes size (and hence we don't have to worry about
re-positioning it).

Now to fix the RomInfoWidget, and then UI-wise we'll have parity with
the 2.6.1 release ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1583 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2008-12-28 23:47:09 +00:00
parent eb381e24f6
commit c839ddaab1
3 changed files with 26 additions and 26 deletions

View File

@ -16,10 +16,10 @@ If you would like to contribute to Stella's development then find something
on the list below and send email to Bradford Mott at bwmott@acm.org or
Stephen Anthony at stephena@users.sourceforge.net.
* New UI subsystem where drawing is done into separate buffers, not
X * New UI subsystem where drawing is done into separate buffers, not
directly into the TIA window
* Make UI 'font-sensitive' and remove all hardcoded dimensions for
X * Make UI 'font-sensitive' and remove all hardcoded dimensions for
widget/font sizes
* Add option to automatically save snapshots in 1X mode (useful for

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: FrameBufferGL.cxx,v 1.127 2008-12-28 21:01:55 stephena Exp $
// $Id: FrameBufferGL.cxx,v 1.128 2008-12-28 23:47:09 stephena Exp $
//============================================================================
#ifdef DISPLAY_OPENGL
@ -330,6 +330,7 @@ bool FrameBufferGL::setVidMode(VideoMode& mode)
p_glPushMatrix();
p_glLoadIdentity();
/*
cerr << "dimensions: " << (fullScreen() ? "(full)" : "") << endl
<< " screen w = " << mode.screen_w << endl
<< " screen h = " << mode.screen_h << endl
@ -340,6 +341,7 @@ cerr << "dimensions: " << (fullScreen() ? "(full)" : "") << endl
<< " base w = " << baseWidth << endl
<< " base h = " << baseHeight << endl
<< endl;
*/
////////////////////////////////////////////////////////////////////
// Note that the following must be done in the order given

View File

@ -13,7 +13,7 @@
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: EventHandler.cxx,v 1.231 2008-12-28 22:31:13 stephena Exp $
// $Id: EventHandler.cxx,v 1.232 2008-12-28 23:47:09 stephena Exp $
//============================================================================
#include <sstream>
@ -321,27 +321,25 @@ void EventHandler::poll(uInt32 time)
// Control/Cmd or Alt/Shift-Cmd keys. So we quickly check for those.
if(kbdAlt(mod) && state)
{
#ifndef MAC_OSX
// These keys work in all states
if(key == SDLK_RETURN)
{
myOSystem->frameBuffer().toggleFullscreen();
}
else if(key == SDLK_EQUALS)
{
myOSystem->frameBuffer().changeVidMode(+1);
}
else if(key == SDLK_MINUS)
{
myOSystem->frameBuffer().changeVidMode(-1);
}
else
#endif
// These only work when in emulation mode
if(myState == S_EMULATE)
else if(myState == S_EMULATE)
{
switch(int(key))
{
#ifndef MAC_OSX
case SDLK_EQUALS:
myOSystem->frameBuffer().changeVidMode(+1);
break;
case SDLK_MINUS:
myOSystem->frameBuffer().changeVidMode(-1);
break;
#endif
case SDLK_LEFTBRACKET:
myOSystem->sound().adjustVolume(-1);
break;
@ -453,14 +451,6 @@ void EventHandler::poll(uInt32 time)
{
myOSystem->frameBuffer().toggleFullscreen();
}
else if(key == SDLK_EQUALS)
{
myOSystem->frameBuffer().changeVidMode(+1);
}
else if(key == SDLK_MINUS)
{
myOSystem->frameBuffer().changeVidMode(-1);
}
#endif
// These only work when in emulation mode
else if(myState == S_EMULATE)
@ -468,6 +458,14 @@ void EventHandler::poll(uInt32 time)
switch(int(key))
{
#ifdef MAC_OSX
case SDLK_EQUALS:
myOSystem->frameBuffer().changeVidMode(+1);
break;
case SDLK_MINUS:
myOSystem->frameBuffer().changeVidMode(-1);
break;
case SDLK_h:
case SDLK_m:
case SDLK_SLASH: