From 4654975341b72f1fb7b36984ffbf42b01484aecd Mon Sep 17 00:00:00 2001 From: stephena Date: Thu, 1 May 2014 23:15:17 +0000 Subject: [PATCH] Some updates for compiling in the latest version of Visual Studio (2013). git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2879 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba --- src/common/Version.hxx | 2 +- src/emucore/FrameBuffer.hxx | 63 +++++++++++++++--------------- src/windows/Stella.vcxproj | 12 +++--- src/windows/Stella.vcxproj.filters | 6 +++ 4 files changed, 46 insertions(+), 37 deletions(-) diff --git a/src/common/Version.hxx b/src/common/Version.hxx index 528249612..a276f0478 100644 --- a/src/common/Version.hxx +++ b/src/common/Version.hxx @@ -22,7 +22,7 @@ #include -#define STELLA_VERSION "3.9.102_svn" +#define STELLA_VERSION "3.9.103_svn" #define STELLA_BUILD atoi("$Rev$" + 6) #endif diff --git a/src/emucore/FrameBuffer.hxx b/src/emucore/FrameBuffer.hxx index 7821e1eb6..679e3976f 100644 --- a/src/emucore/FrameBuffer.hxx +++ b/src/emucore/FrameBuffer.hxx @@ -309,6 +309,38 @@ class FrameBuffer */ uInt8 getPhosphor(uInt8 c1, uInt8 c2) const; + // Contains all relevant info for the dimensions of a video screen + // Also takes care of the case when the image should be 'centered' + // within the given screen: + // 'image' is the image dimensions into the screen + // 'screen' are the dimensions of the screen itself + class VideoMode + { + friend class FrameBuffer; + + public: + GUI::Rect image; + GUI::Size screen; + bool fullscreen; + uInt32 zoom; + string description; + + public: + VideoMode(); + VideoMode(uInt32 iw, uInt32 ih, uInt32 sw, uInt32 sh, bool full, + uInt32 z = 1, const string& desc = ""); + + friend ostream& operator<<(ostream& os, const VideoMode& vm) + { + os << "image=" << vm.image << " screen=" << vm.screen << endl + << "desc=" << vm.description << " zoom=" << vm.zoom; + return os; + } + + private: + void applyAspectCorrection(uInt32 aspect, uInt32 stretch = false); + }; + ////////////////////////////////////////////////////////////////////// // The following methods are system-specific and can/must be // implemented in derived classes. @@ -372,37 +404,6 @@ class FrameBuffer virtual void scanline(uInt32 row, uInt8* data) const = 0; protected: - // Contains all relevant info for the dimensions of a video screen - // Also takes care of the case when the image should be 'centered' - // within the given screen: - // 'image' is the image dimensions into the screen - // 'screen' are the dimensions of the screen itself - class VideoMode { - friend class FrameBuffer; - - public: - GUI::Rect image; - GUI::Size screen; - bool fullscreen; - uInt32 zoom; - string description; - - public: - VideoMode(); - VideoMode(uInt32 iw, uInt32 ih, uInt32 sw, uInt32 sh, bool full, - uInt32 z = 1, const string& desc = ""); - - friend ostream& operator<<(ostream& os, const VideoMode& vm) - { - os << "image=" << vm.image << " screen=" << vm.screen << endl - << "desc=" << vm.description << " zoom=" << vm.zoom; - return os; - } - - private: - void applyAspectCorrection(uInt32 aspect, uInt32 stretch = false); - }; - /** This method is called to query and initialize the video hardware for desktop and fullscreen resolution information. diff --git a/src/windows/Stella.vcxproj b/src/windows/Stella.vcxproj index a86084db4..5a2e6114c 100644 --- a/src/windows/Stella.vcxproj +++ b/src/windows/Stella.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -27,22 +27,22 @@ Application MultiByte - v110_xp + v120_xp Application MultiByte - v110_xp + v120_xp Application MultiByte - v110 + v120_xp Application MultiByte - v110 + v120_xp @@ -280,6 +280,7 @@ + @@ -532,6 +533,7 @@ + diff --git a/src/windows/Stella.vcxproj.filters b/src/windows/Stella.vcxproj.filters index 40dd96c43..cd6552aaf 100644 --- a/src/windows/Stella.vcxproj.filters +++ b/src/windows/Stella.vcxproj.filters @@ -753,6 +753,9 @@ Source Files + + Source Files\emucore + @@ -1520,6 +1523,9 @@ Header Files + + Header Files\emucore +