mirror of https://github.com/stella-emu/stella.git
Removed concept of 'base' surfaces, which was an optimization for software rendering.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2862 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
cf50b4f1b6
commit
fdf9ed708a
|
@ -38,7 +38,6 @@
|
|||
FrameBufferSDL2::FrameBufferSDL2(OSystem* osystem)
|
||||
: FrameBuffer(osystem),
|
||||
myFilterType(kNormal),
|
||||
myScreen(0),
|
||||
myWindow(NULL),
|
||||
myRenderer(NULL),
|
||||
myWindowFlags(0),
|
||||
|
@ -426,11 +425,8 @@ void FrameBufferSDL2::setTIAPalette(const uInt32* palette)
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
FBSurface* FrameBufferSDL2::createSurface(int w, int h, bool isBase) const
|
||||
FBSurface* FrameBufferSDL2::createSurface(int w, int h) const
|
||||
{
|
||||
// Ignore 'isBase' argument; all GL surfaces are separate
|
||||
// Also, this method will only be called for use in external dialogs.
|
||||
// and never used for TIA surfaces
|
||||
return new FBSurfaceUI((FrameBufferSDL2&)*this, w, h);
|
||||
}
|
||||
|
||||
|
|
|
@ -165,11 +165,10 @@ class FrameBufferSDL2 : public FrameBuffer
|
|||
This method is called to create a surface compatible with the one
|
||||
currently in use, but having the given dimensions.
|
||||
|
||||
@param w The requested width of the new surface.
|
||||
@param h The requested height of the new surface.
|
||||
@param useBase Use the base surface instead of creating a new one
|
||||
@param w The requested width of the new surface.
|
||||
@param h The requested height of the new surface.
|
||||
*/
|
||||
FBSurface* createSurface(int w, int h, bool useBase = false) const;
|
||||
FBSurface* createSurface(int w, int h) const;
|
||||
|
||||
/**
|
||||
Grabs or ungrabs the mouse based on the given boolean value.
|
||||
|
@ -220,7 +219,6 @@ class FrameBufferSDL2 : public FrameBuffer
|
|||
|
||||
private:
|
||||
// The SDL video buffer
|
||||
SDL_Surface* myScreen;
|
||||
SDL_Window* myWindow;
|
||||
SDL_Renderer* myRenderer;
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
DebuggerDialog::DebuggerDialog(OSystem* osystem, DialogContainer* parent,
|
||||
int x, int y, int w, int h)
|
||||
: Dialog(osystem, parent, x, y, w, h, true), // use base surface
|
||||
: Dialog(osystem, parent, x, y, w, h),
|
||||
myTab(NULL),
|
||||
myRomTab(NULL),
|
||||
myLFont(NULL),
|
||||
|
|
|
@ -643,10 +643,10 @@ void FrameBuffer::toggleScanlineInterpolation()
|
|||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
uInt32 FrameBuffer::allocateSurface(int w, int h, bool useBase)
|
||||
uInt32 FrameBuffer::allocateSurface(int w, int h)
|
||||
{
|
||||
// Create a new surface
|
||||
FBSurface* surface = createSurface(w, h, useBase);
|
||||
FBSurface* surface = createSurface(w, h);
|
||||
|
||||
// Add it to the list
|
||||
mySurfaceList.insert(make_pair((uInt32)mySurfaceList.size(), surface));
|
||||
|
|
|
@ -186,13 +186,12 @@ class FrameBuffer
|
|||
all responsibility for freeing this surface (ie, other classes must not
|
||||
delete it directly).
|
||||
|
||||
@param w The requested width of the new surface.
|
||||
@param h The requested height of the new surface.
|
||||
@param useBase Use the base surface instead of creating a new one
|
||||
@param w The requested width of the new surface.
|
||||
@param h The requested height of the new surface.
|
||||
|
||||
@return A unique ID used to identify this surface
|
||||
*/
|
||||
uInt32 allocateSurface(int w, int h, bool useBase = false);
|
||||
uInt32 allocateSurface(int w, int h);
|
||||
|
||||
/**
|
||||
Retrieve the surface associated with the given ID.
|
||||
|
@ -471,11 +470,10 @@ class FrameBuffer
|
|||
This method is called to create a surface compatible with the one
|
||||
currently in use, but having the given dimensions.
|
||||
|
||||
@param w The requested width of the new surface.
|
||||
@param h The requested height of the new surface.
|
||||
@param useBase Use the base surface instead of creating a new one
|
||||
@param w The requested width of the new surface.
|
||||
@param h The requested height of the new surface.
|
||||
*/
|
||||
virtual FBSurface* createSurface(int w, int h, bool useBase = false) const = 0;
|
||||
virtual FBSurface* createSurface(int w, int h) const = 0;
|
||||
|
||||
/**
|
||||
Change scanline intensity and interpolation.
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
*/
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Dialog::Dialog(OSystem* instance, DialogContainer* parent,
|
||||
int x, int y, int w, int h, bool isBase)
|
||||
int x, int y, int w, int h)
|
||||
: GuiObject(*instance, *parent, *this, x, y, w, h),
|
||||
_mouseWidget(0),
|
||||
_focusedWidget(0),
|
||||
|
@ -45,7 +45,6 @@ Dialog::Dialog(OSystem* instance, DialogContainer* parent,
|
|||
_okWidget(0),
|
||||
_cancelWidget(0),
|
||||
_visible(false),
|
||||
_isBase(isBase),
|
||||
_processCancel(false),
|
||||
_surface(0),
|
||||
_tabID(0)
|
||||
|
@ -78,7 +77,7 @@ void Dialog::open(bool refresh)
|
|||
// ignore it
|
||||
if(_surface == NULL)
|
||||
{
|
||||
uInt32 surfaceID = instance().frameBuffer().allocateSurface(_w, _h, _isBase);
|
||||
uInt32 surfaceID = instance().frameBuffer().allocateSurface(_w, _h);
|
||||
_surface = instance().frameBuffer().surface(surfaceID);
|
||||
}
|
||||
parent().addDialog(this);
|
||||
|
|
|
@ -47,7 +47,7 @@ class Dialog : public GuiObject
|
|||
|
||||
public:
|
||||
Dialog(OSystem* instance, DialogContainer* parent,
|
||||
int x, int y, int w, int h, bool isBase = false);
|
||||
int x, int y, int w, int h);
|
||||
|
||||
virtual ~Dialog();
|
||||
|
||||
|
@ -55,7 +55,6 @@ class Dialog : public GuiObject
|
|||
void close(bool refresh = true);
|
||||
|
||||
bool isVisible() const { return _visible; }
|
||||
bool isBase() const { return _isBase; }
|
||||
|
||||
virtual void center();
|
||||
virtual void drawDialog();
|
||||
|
@ -113,7 +112,6 @@ class Dialog : public GuiObject
|
|||
Widget* _okWidget;
|
||||
Widget* _cancelWidget;
|
||||
bool _visible;
|
||||
bool _isBase;
|
||||
bool _processCancel;
|
||||
|
||||
private:
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
LauncherDialog::LauncherDialog(OSystem* osystem, DialogContainer* parent,
|
||||
int x, int y, int w, int h)
|
||||
: Dialog(osystem, parent, x, y, w, h, true), // use base surface
|
||||
: Dialog(osystem, parent, x, y, w, h),
|
||||
myStartButton(NULL),
|
||||
myPrevDirButton(NULL),
|
||||
myOptionsButton(NULL),
|
||||
|
|
|
@ -93,7 +93,7 @@ void RomInfoWidget::parseProperties()
|
|||
if(mySurface == NULL)
|
||||
{
|
||||
mySurfaceID = instance().frameBuffer().allocateSurface(
|
||||
320*myZoomLevel, 256*myZoomLevel, false);
|
||||
320*myZoomLevel, 256*myZoomLevel);
|
||||
mySurface = instance().frameBuffer().surface(mySurfaceID);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue