gosu 0.7.33 → 0.7.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gosu/Async.hpp +10 -8
- data/Gosu/Audio.hpp +6 -4
- data/Gosu/AutoLink.hpp +0 -0
- data/Gosu/Bitmap.hpp +4 -5
- data/Gosu/ButtonsX.hpp +1 -1
- data/Gosu/Color.hpp +8 -8
- data/Gosu/Font.hpp +2 -2
- data/Gosu/Graphics.hpp +4 -6
- data/Gosu/IO.hpp +11 -4
- data/Gosu/Image.hpp +9 -7
- data/Gosu/ImageData.hpp +10 -4
- data/Gosu/Input.hpp +4 -5
- data/Gosu/Sockets.hpp +10 -12
- data/Gosu/TR1.hpp +44 -0
- data/Gosu/TextInput.hpp +2 -2
- data/Gosu/Version.hpp +2 -2
- data/Gosu/WinUtility.hpp +5 -6
- data/Gosu/Window.hpp +5 -6
- data/GosuImpl/Async.cpp +4 -3
- data/GosuImpl/Audio/ALChannelManagement.hpp +23 -11
- data/GosuImpl/Audio/AudioFile.hpp +11 -3
- data/GosuImpl/Audio/AudioOpenAL.cpp +613 -0
- data/GosuImpl/Audio/AudioOpenAL.mm +1 -605
- data/GosuImpl/Audio/AudioSDL.cpp +12 -14
- data/GosuImpl/Audio/AudioToolboxFile.hpp +0 -1
- data/GosuImpl/Audio/OggFile.hpp +2 -0
- data/GosuImpl/Audio/SndFile.hpp +158 -0
- data/GosuImpl/DirectoriesWin.cpp +18 -18
- data/GosuImpl/Graphics/BitmapApple.mm +17 -19
- data/GosuImpl/Graphics/BitmapBMP.cpp +7 -2
- data/GosuImpl/Graphics/BitmapFreeImage.cpp +11 -12
- data/GosuImpl/Graphics/BitmapGDIplus.cpp +35 -31
- data/GosuImpl/Graphics/BitmapUtils.cpp +1 -1
- data/GosuImpl/Graphics/BlockAllocator.cpp +7 -8
- data/GosuImpl/Graphics/BlockAllocator.hpp +3 -4
- data/GosuImpl/Graphics/Common.hpp +3 -2
- data/GosuImpl/Graphics/DrawOp.hpp +2 -3
- data/GosuImpl/Graphics/DrawOpQueue.hpp +28 -20
- data/GosuImpl/Graphics/Font.cpp +13 -13
- data/GosuImpl/Graphics/FormattedString.hpp +93 -86
- data/GosuImpl/Graphics/Graphics.cpp +16 -14
- data/GosuImpl/Graphics/Image.cpp +7 -3
- data/GosuImpl/Graphics/LargeImageData.hpp +4 -5
- data/GosuImpl/Graphics/Macro.hpp +11 -11
- data/GosuImpl/Graphics/RenderState.hpp +5 -4
- data/GosuImpl/Graphics/TexChunk.cpp +3 -3
- data/GosuImpl/Graphics/TexChunk.hpp +4 -4
- data/GosuImpl/Graphics/Text.cpp +29 -30
- data/GosuImpl/Graphics/TextMac.cpp +9 -7
- data/GosuImpl/Graphics/TextTTFWin.cpp +3 -1
- data/GosuImpl/Graphics/TextTouch.mm +0 -1
- data/GosuImpl/Graphics/TextUnix.cpp +12 -4
- data/GosuImpl/Graphics/TextWin.cpp +4 -2
- data/GosuImpl/Graphics/Texture.cpp +7 -6
- data/GosuImpl/Graphics/Texture.hpp +3 -4
- data/GosuImpl/InputMac.mm +12 -15
- data/GosuImpl/InputTouch.mm +3 -3
- data/GosuImpl/InputWin.cpp +149 -159
- data/GosuImpl/InputX.cpp +0 -0
- data/GosuImpl/MacUtility.hpp +9 -4
- data/GosuImpl/RubyGosu.swg +38 -43
- data/GosuImpl/RubyGosu_wrap.cxx +89 -96
- data/GosuImpl/Sockets/CommSocket.cpp +5 -5
- data/GosuImpl/Sockets/Sockets.hpp +4 -4
- data/GosuImpl/TimingApple.cpp +2 -3
- data/GosuImpl/Utility.cpp +18 -0
- data/GosuImpl/WinMain.cpp +0 -1
- data/GosuImpl/WinUtility.cpp +2 -2
- data/GosuImpl/WindowMac.mm +20 -17
- data/GosuImpl/WindowTouch.mm +8 -7
- data/GosuImpl/WindowWin.cpp +12 -7
- data/GosuImpl/WindowX.cpp +67 -18
- data/lib/gosu.rb +14 -12
- data/linux/extconf.rb +11 -6
- metadata +8 -7
- data/GosuImpl/Audio/AudioAudiere.cpp +0 -448
- data/GosuImpl/RubyGosu_DllMain.cxx +0 -31
    
        data/Gosu/Async.hpp
    CHANGED
    
    | @@ -1,12 +1,13 @@ | |
| 1 1 | 
             
            // Undocumented for the first few iterations. Interface may change rapidly.
         | 
| 2 2 | 
             
            // This is mainly a proof of concept. Stability will be the highest on OS X.
         | 
| 3 3 |  | 
| 4 | 
            +
            #if 0
         | 
| 4 5 | 
             
            #ifndef GOSU_ASYNC_HPP
         | 
| 5 6 | 
             
            #define GOSU_ASYNC_HPP
         | 
| 6 7 |  | 
| 7 8 | 
             
            #include <Gosu/Fwd.hpp>
         | 
| 8 | 
            -
            #include < | 
| 9 | 
            -
            #include < | 
| 9 | 
            +
            #include <Gosu/TR1.hpp>
         | 
| 10 | 
            +
            #include <thread>
         | 
| 10 11 | 
             
            #include <memory>
         | 
| 11 12 | 
             
            #include <string>
         | 
| 12 13 |  | 
| @@ -15,25 +16,25 @@ namespace Gosu | |
| 15 16 | 
             
                template<typename Result>
         | 
| 16 17 | 
             
                class AsyncResult
         | 
| 17 18 | 
             
                {
         | 
| 18 | 
            -
                     | 
| 19 | 
            -
                     | 
| 19 | 
            +
                    std::tr1::shared_ptr<std::tr1::try_mutex> mutex;
         | 
| 20 | 
            +
                    std::tr1::shared_ptr<std::auto_ptr<Result> > result;
         | 
| 20 21 |  | 
| 21 22 | 
             
                public:
         | 
| 22 | 
            -
                    AsyncResult(const  | 
| 23 | 
            -
                                const  | 
| 23 | 
            +
                    AsyncResult(const std::tr1::shared_ptr<std::tr1::try_mutex>& mutex,
         | 
| 24 | 
            +
                                const std::tr1::shared_ptr<std::auto_ptr<Result> >& result)
         | 
| 24 25 | 
             
                    : mutex(mutex), result(result)
         | 
| 25 26 | 
             
                    {
         | 
| 26 27 | 
             
                    }
         | 
| 27 28 |  | 
| 28 29 | 
             
                    bool hasValue() const
         | 
| 29 30 | 
             
                    {
         | 
| 30 | 
            -
                         | 
| 31 | 
            +
                        std::tr1::try_mutex::scoped_try_lock lock(*mutex);
         | 
| 31 32 | 
             
                        return lock && result->get();
         | 
| 32 33 | 
             
                    }
         | 
| 33 34 |  | 
| 34 35 | 
             
                    std::auto_ptr<Result> takeValue()
         | 
| 35 36 | 
             
                    {
         | 
| 36 | 
            -
                         | 
| 37 | 
            +
                        std::tr1::try_mutex::scoped_lock lock(*mutex);
         | 
| 37 38 | 
             
                        return *result;
         | 
| 38 39 | 
             
                    }
         | 
| 39 40 | 
             
                };
         | 
| @@ -46,3 +47,4 @@ namespace Gosu | |
| 46 47 | 
             
            }
         | 
| 47 48 |  | 
| 48 49 | 
             
            #endif
         | 
| 50 | 
            +
            #endif
         | 
    
        data/Gosu/Audio.hpp
    CHANGED
    
    | @@ -13,8 +13,8 @@ | |
| 13 13 | 
             
            #include <Gosu/Fwd.hpp>
         | 
| 14 14 | 
             
            #include <Gosu/IO.hpp>
         | 
| 15 15 | 
             
            #include <Gosu/Platform.hpp>
         | 
| 16 | 
            -
            #include < | 
| 17 | 
            -
            #include < | 
| 16 | 
            +
            #include <Gosu/TR1.hpp>
         | 
| 17 | 
            +
            #include <memory>
         | 
| 18 18 | 
             
            #include <string>
         | 
| 19 19 |  | 
| 20 20 | 
             
            namespace Gosu
         | 
| @@ -64,7 +64,7 @@ namespace Gosu | |
| 64 64 | 
             
                class Sample
         | 
| 65 65 | 
             
                {
         | 
| 66 66 | 
             
                    struct SampleData;
         | 
| 67 | 
            -
                     | 
| 67 | 
            +
                    std::tr1::shared_ptr<SampleData> data;
         | 
| 68 68 |  | 
| 69 69 | 
             
                public:
         | 
| 70 70 | 
             
                    //! Constructs a sample that can be played on the specified audio
         | 
| @@ -109,7 +109,9 @@ namespace Gosu | |
| 109 109 | 
             
                    class BaseData;
         | 
| 110 110 | 
             
                    class ModuleData;
         | 
| 111 111 | 
             
                    class StreamData;
         | 
| 112 | 
            -
                     | 
| 112 | 
            +
                    Song(const Song&);
         | 
| 113 | 
            +
                    Song& operator=(const Song&);
         | 
| 114 | 
            +
                    std::auto_ptr<BaseData> data;
         | 
| 113 115 |  | 
| 114 116 | 
             
                public:
         | 
| 115 117 | 
             
                    //! Constructs a song that can be played on the provided audio system
         | 
    
        data/Gosu/AutoLink.hpp
    CHANGED
    
    | 
            File without changes
         | 
    
        data/Gosu/Bitmap.hpp
    CHANGED
    
    | @@ -8,7 +8,6 @@ | |
| 8 8 | 
             
            #include <Gosu/Fwd.hpp>
         | 
| 9 9 | 
             
            #include <Gosu/GraphicsBase.hpp>
         | 
| 10 10 | 
             
            #include <Gosu/Platform.hpp>
         | 
| 11 | 
            -
            #include <boost/scoped_ptr.hpp>
         | 
| 12 11 | 
             
            #include <string>
         | 
| 13 12 | 
             
            #include <vector>
         | 
| 14 13 |  | 
| @@ -63,10 +62,10 @@ namespace Gosu | |
| 63 62 | 
             
                    GOSU_DEPRECATED void replace(Color oldColor, Color newColor);
         | 
| 64 63 | 
             
                };
         | 
| 65 64 |  | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 65 | 
            +
                //! Loads any supported image into a Bitmap.
         | 
| 66 | 
            +
                void loadImageFile(Bitmap& bitmap, const std::wstring& filename);
         | 
| 67 | 
            +
                //! Loads any supported image into a Bitmap.
         | 
| 68 | 
            +
                void loadImageFile(Bitmap& bitmap, Reader input);
         | 
| 70 69 |  | 
| 71 70 | 
             
                //! Saves a Bitmap to a file.
         | 
| 72 71 | 
             
                void saveImageFile(const Bitmap& bitmap, const std::wstring& filename);
         | 
    
        data/Gosu/ButtonsX.hpp
    CHANGED
    
    
    
        data/Gosu/Color.hpp
    CHANGED
    
    | @@ -4,8 +4,8 @@ | |
| 4 4 | 
             
            #ifndef GOSU_COLOR_HPP
         | 
| 5 5 | 
             
            #define GOSU_COLOR_HPP
         | 
| 6 6 |  | 
| 7 | 
            -
            #include <boost/cstdint.hpp>
         | 
| 8 7 | 
             
            #include <Gosu/Platform.hpp>
         | 
| 8 | 
            +
            #include <Gosu/TR1.hpp>
         | 
| 9 9 |  | 
| 10 10 | 
             
            namespace Gosu
         | 
| 11 11 | 
             
            {
         | 
| @@ -17,7 +17,7 @@ namespace Gosu | |
| 17 17 | 
             
                //! it is 0xaabbggrr.
         | 
| 18 18 | 
             
                class Color
         | 
| 19 19 | 
             
                {
         | 
| 20 | 
            -
                     | 
| 20 | 
            +
                    std::tr1::uint32_t rep;
         | 
| 21 21 | 
             
                    #ifdef GOSU_IS_LITTLE_ENDIAN
         | 
| 22 22 | 
             
                    enum { RED_OFFSET = 0, GREEN_OFFSET = 8, BLUE_OFFSET = 16, ALPHA_OFFSET = 24 };
         | 
| 23 23 | 
             
                    #else
         | 
| @@ -25,7 +25,7 @@ namespace Gosu | |
| 25 25 | 
             
                    #endif
         | 
| 26 26 |  | 
| 27 27 | 
             
                public:
         | 
| 28 | 
            -
                    typedef  | 
| 28 | 
            +
                    typedef std::tr1::uint8_t Channel;
         | 
| 29 29 | 
             
                    static const unsigned GL_FORMAT = 0x1908; // GL_RGBA
         | 
| 30 30 |  | 
| 31 31 | 
             
                    //! The default constructor does not initialize the color to any value.
         | 
| @@ -34,7 +34,7 @@ namespace Gosu | |
| 34 34 | 
             
                    }
         | 
| 35 35 |  | 
| 36 36 | 
             
                    //! Conversion constructor for literals of the form 0xaarrggbb.
         | 
| 37 | 
            -
                    Color( | 
| 37 | 
            +
                    Color(unsigned argb)
         | 
| 38 38 | 
             
                    {
         | 
| 39 39 | 
             
                        *this = Color((argb >> 24) & 0xff, (argb >> 16) & 0xff,
         | 
| 40 40 | 
             
                                      (argb >>  8) & 0xff, (argb >>  0) & 0xff);
         | 
| @@ -121,25 +121,25 @@ namespace Gosu | |
| 121 121 | 
             
                    void setValue(double v);
         | 
| 122 122 |  | 
| 123 123 | 
             
                    //! Returns the color in 0xaarrggbb representation.
         | 
| 124 | 
            -
                     | 
| 124 | 
            +
                    std::tr1::uint32_t argb() const
         | 
| 125 125 | 
             
                    {
         | 
| 126 126 | 
             
                        return alpha() << 24 | red() << 16 | green() << 8 | blue();
         | 
| 127 127 | 
             
                    }
         | 
| 128 128 |  | 
| 129 129 | 
             
                    //! Returns the color in 0x00bbggrr representation.
         | 
| 130 | 
            -
                     | 
| 130 | 
            +
                    std::tr1::uint32_t bgr() const
         | 
| 131 131 | 
             
                    {
         | 
| 132 132 | 
             
                        return blue() << 16 | green() << 8 | red();
         | 
| 133 133 | 
             
                    }
         | 
| 134 134 |  | 
| 135 135 | 
             
                    //! Returns the color in 0xaabbggrr representation.
         | 
| 136 | 
            -
                     | 
| 136 | 
            +
                    std::tr1::uint32_t abgr() const
         | 
| 137 137 | 
             
                    {
         | 
| 138 138 | 
             
                        return alpha() << 24 | blue() << 16 | green() << 8 | red();
         | 
| 139 139 | 
             
                    }
         | 
| 140 140 |  | 
| 141 141 | 
             
                    //! Returns the internal representation of the color (RGBA in memory).
         | 
| 142 | 
            -
                     | 
| 142 | 
            +
                    std::tr1::uint32_t gl() const
         | 
| 143 143 | 
             
                    {
         | 
| 144 144 | 
             
                        return rep;
         | 
| 145 145 | 
             
                    }
         | 
    
        data/Gosu/Font.hpp
    CHANGED
    
    | @@ -8,7 +8,7 @@ | |
| 8 8 | 
             
            #include <Gosu/Color.hpp>
         | 
| 9 9 | 
             
            #include <Gosu/GraphicsBase.hpp>
         | 
| 10 10 | 
             
            #include <Gosu/Platform.hpp>
         | 
| 11 | 
            -
            #include < | 
| 11 | 
            +
            #include <Gosu/TR1.hpp>
         | 
| 12 12 | 
             
            #include <string>
         | 
| 13 13 |  | 
| 14 14 | 
             
            namespace Gosu
         | 
| @@ -20,7 +20,7 @@ namespace Gosu | |
| 20 20 | 
             
                class Font
         | 
| 21 21 | 
             
                {
         | 
| 22 22 | 
             
                    struct Impl;
         | 
| 23 | 
            -
                     | 
| 23 | 
            +
                    std::tr1::shared_ptr<Impl> pimpl;
         | 
| 24 24 |  | 
| 25 25 | 
             
                public:
         | 
| 26 26 | 
             
                    //! Constructs a font that can be drawn onto the graphics object.
         | 
    
        data/Gosu/Graphics.hpp
    CHANGED
    
    | @@ -7,9 +7,7 @@ | |
| 7 7 | 
             
            #include <Gosu/Fwd.hpp>
         | 
| 8 8 | 
             
            #include <Gosu/Color.hpp>
         | 
| 9 9 | 
             
            #include <Gosu/GraphicsBase.hpp>
         | 
| 10 | 
            -
            #include < | 
| 11 | 
            -
            #include <boost/function.hpp>
         | 
| 12 | 
            -
            #include <boost/scoped_ptr.hpp>
         | 
| 10 | 
            +
            #include <Gosu/TR1.hpp>
         | 
| 13 11 | 
             
            #include <memory>
         | 
| 14 12 |  | 
| 15 13 | 
             
            namespace Gosu
         | 
| @@ -25,7 +23,7 @@ namespace Gosu | |
| 25 23 | 
             
                //! Useful when extending Gosu using OpenGL.
         | 
| 26 24 | 
             
                unsigned const MAX_TEXTURE_SIZE = 1024;
         | 
| 27 25 |  | 
| 28 | 
            -
                typedef  | 
| 26 | 
            +
                typedef std::tr1::array<double, 16> Transform;
         | 
| 29 27 | 
             
                Transform translate(double x, double y);
         | 
| 30 28 | 
             
                Transform rotate(double angle, double aroundX = 0, double aroundY = 0);
         | 
| 31 29 | 
             
                Transform scale(double factor);
         | 
| @@ -37,7 +35,7 @@ namespace Gosu | |
| 37 35 | 
             
                class Graphics
         | 
| 38 36 | 
             
                {
         | 
| 39 37 | 
             
                    struct Impl;
         | 
| 40 | 
            -
                     | 
| 38 | 
            +
                    const std::auto_ptr<Impl> pimpl;
         | 
| 41 39 |  | 
| 42 40 | 
             
                public:
         | 
| 43 41 | 
             
                    Graphics(unsigned physicalWidth, unsigned physicalHeight, bool fullscreen);
         | 
| @@ -73,7 +71,7 @@ namespace Gosu | |
| 73 71 | 
             
                    //! of custom GL functors is NOT DEFINED.
         | 
| 74 72 | 
             
                    //! Note: You may not call any Gosu rendering functions from within the
         | 
| 75 73 | 
             
                    //! functor, and you must schedule it from within Window::draw's call tree.
         | 
| 76 | 
            -
                    void scheduleGL(const  | 
| 74 | 
            +
                    void scheduleGL(const std::tr1::function<void()>& functor, ZPos z);
         | 
| 77 75 |  | 
| 78 76 | 
             
                    //! Enables clipping to a specified rectangle.
         | 
| 79 77 | 
             
                    void beginClipping(double x, double y, double width, double height);
         | 
    
        data/Gosu/IO.hpp
    CHANGED
    
    | @@ -4,10 +4,9 @@ | |
| 4 4 | 
             
            #ifndef GOSU_IO_HPP
         | 
| 5 5 | 
             
            #define GOSU_IO_HPP
         | 
| 6 6 |  | 
| 7 | 
            -
            #include <boost/utility.hpp>
         | 
| 8 | 
            -
            #include <boost/scoped_ptr.hpp>
         | 
| 9 7 | 
             
            #include <cstddef>
         | 
| 10 8 | 
             
            #include <algorithm>
         | 
| 9 | 
            +
            #include <memory>
         | 
| 11 10 | 
             
            #include <string>
         | 
| 12 11 | 
             
            #include <vector>
         | 
| 13 12 |  | 
| @@ -139,9 +138,17 @@ namespace Gosu | |
| 139 138 | 
             
                //! or simply areas of allocated memory.
         | 
| 140 139 | 
             
                //! A resource always knows its size and can resize itself, thereby either
         | 
| 141 140 | 
             
                //! truncating its content or allocating room for more data.
         | 
| 142 | 
            -
                class Resource | 
| 141 | 
            +
                class Resource
         | 
| 143 142 | 
             
                {
         | 
| 143 | 
            +
                    // Non-copyable
         | 
| 144 | 
            +
                    Resource(const Resource&);
         | 
| 145 | 
            +
                    Resource& operator=(const Resource&);
         | 
| 146 | 
            +
             | 
| 144 147 | 
             
                public:
         | 
| 148 | 
            +
                    Resource()
         | 
| 149 | 
            +
                    {
         | 
| 150 | 
            +
                    }
         | 
| 151 | 
            +
                    
         | 
| 145 152 | 
             
                    virtual ~Resource()
         | 
| 146 153 | 
             
                    {
         | 
| 147 154 | 
             
                    }
         | 
| @@ -229,7 +236,7 @@ namespace Gosu | |
| 229 236 | 
             
                class File : public Resource
         | 
| 230 237 | 
             
                {
         | 
| 231 238 | 
             
                    struct Impl;
         | 
| 232 | 
            -
                     | 
| 239 | 
            +
                    const std::auto_ptr<Impl> pimpl;
         | 
| 233 240 |  | 
| 234 241 | 
             
                public:
         | 
| 235 242 | 
             
                    explicit File(const std::wstring& filename, FileMode mode = fmRead);
         | 
    
        data/Gosu/Image.hpp
    CHANGED
    
    | @@ -6,7 +6,7 @@ | |
| 6 6 |  | 
| 7 7 | 
             
            #include <Gosu/Fwd.hpp>
         | 
| 8 8 | 
             
            #include <Gosu/Bitmap.hpp>
         | 
| 9 | 
            -
            #include < | 
| 9 | 
            +
            #include <Gosu/TR1.hpp>
         | 
| 10 10 | 
             
            #include <memory>
         | 
| 11 11 |  | 
| 12 12 | 
             
            namespace Gosu
         | 
| @@ -14,7 +14,7 @@ namespace Gosu | |
| 14 14 | 
             
                //! Provides functionality for drawing rectangular images.
         | 
| 15 15 | 
             
                class Image
         | 
| 16 16 | 
             
                {
         | 
| 17 | 
            -
                     | 
| 17 | 
            +
                    std::tr1::shared_ptr<ImageData> data;
         | 
| 18 18 |  | 
| 19 19 | 
             
                public:
         | 
| 20 20 | 
             
                    //! Loads an image from a given filename that can be drawn onto
         | 
| @@ -86,13 +86,15 @@ namespace Gosu | |
| 86 86 | 
             
                //! pixels. If negative, the bitmap is divided into -tileWidth rows.
         | 
| 87 87 | 
             
                //! \param tileHeight See tileWidth.
         | 
| 88 88 | 
             
                //! \param appendTo STL container to which the images will be appended.
         | 
| 89 | 
            -
                //! Must provide a push_back member function;  | 
| 90 | 
            -
                //! or  | 
| 89 | 
            +
                //! Must provide a push_back member function; vector<tr1::shared_ptr<Image>>
         | 
| 90 | 
            +
                //! or std::tr1::ptr_vector<Image> are good choices.
         | 
| 91 91 | 
             
                template<typename Container>
         | 
| 92 92 | 
             
                void imagesFromTiledBitmap(Graphics& graphics, const std::wstring& filename,
         | 
| 93 93 | 
             
                    int tileWidth, int tileHeight, bool tileable, Container& appendTo)
         | 
| 94 94 | 
             
                {
         | 
| 95 | 
            -
             | 
| 95 | 
            +
                    Bitmap bmp;
         | 
| 96 | 
            +
                    loadImageFile(bmp, filename);
         | 
| 97 | 
            +
                    imagesFromTiledBitmap(graphics, bmp, tileWidth, tileHeight, tileable, appendTo);
         | 
| 96 98 | 
             
                }
         | 
| 97 99 |  | 
| 98 100 | 
             
                //! Convenience function that splits a bitmap into an area of array 
         | 
| @@ -101,8 +103,8 @@ namespace Gosu | |
| 101 103 | 
             
                //! pixels. If negative, the bitmap is divided into -tileWidth rows.
         | 
| 102 104 | 
             
                //! \param tileHeight See tileWidth.
         | 
| 103 105 | 
             
                //! \param appendTo STL container to which the images will be appended.
         | 
| 104 | 
            -
                //! Must provide a push_back member function; std::vector< | 
| 105 | 
            -
                //! or  | 
| 106 | 
            +
                //! Must provide a push_back member function; std::vector<std::tr1::shared_ptr<Image>>
         | 
| 107 | 
            +
                //! or std::tr1::ptr_vector<Image> are good choices.
         | 
| 106 108 | 
             
                template<typename Container>
         | 
| 107 109 | 
             
                void imagesFromTiledBitmap(Graphics& graphics, const Bitmap& bmp,
         | 
| 108 110 | 
             
                    int tileWidth, int tileHeight, bool tileable, Container& appendTo)
         | 
    
        data/Gosu/ImageData.hpp
    CHANGED
    
    | @@ -6,8 +6,6 @@ | |
| 6 6 |  | 
| 7 7 | 
             
            #include <Gosu/Color.hpp>
         | 
| 8 8 | 
             
            #include <Gosu/GraphicsBase.hpp>
         | 
| 9 | 
            -
            #include <boost/optional.hpp>
         | 
| 10 | 
            -
            #include <boost/utility.hpp>
         | 
| 11 9 |  | 
| 12 10 | 
             
            namespace Gosu
         | 
| 13 11 | 
             
            {
         | 
| @@ -25,9 +23,17 @@ namespace Gosu | |
| 25 23 | 
             
                //! Graphics::createImage and usually only used to implement drawing
         | 
| 26 24 | 
             
                //! primitives like Image, which then provide a more specialized and
         | 
| 27 25 | 
             
                //! intuitive drawing interface.
         | 
| 28 | 
            -
                class ImageData | 
| 26 | 
            +
                class ImageData
         | 
| 29 27 | 
             
                {
         | 
| 28 | 
            +
                    // Non-copyable
         | 
| 29 | 
            +
                    ImageData(const ImageData&);
         | 
| 30 | 
            +
                    ImageData& operator=(const ImageData&);
         | 
| 31 | 
            +
                    
         | 
| 30 32 | 
             
                public:
         | 
| 33 | 
            +
                    ImageData()
         | 
| 34 | 
            +
                    {
         | 
| 35 | 
            +
                    }
         | 
| 36 | 
            +
                    
         | 
| 31 37 | 
             
                    virtual ~ImageData()
         | 
| 32 38 | 
             
                    {
         | 
| 33 39 | 
             
                    }
         | 
| @@ -41,7 +47,7 @@ namespace Gosu | |
| 41 47 | 
             
                        double x4, double y4, Color c4,
         | 
| 42 48 | 
             
                        ZPos z, AlphaMode mode) const = 0;
         | 
| 43 49 |  | 
| 44 | 
            -
                    virtual  | 
| 50 | 
            +
                    virtual const GLTexInfo* glTexInfo() const = 0;
         | 
| 45 51 | 
             
                    virtual Bitmap toBitmap() const = 0;
         | 
| 46 52 |  | 
| 47 53 | 
             
                    //! Experimental and undocumented for now.
         | 
    
        data/Gosu/Input.hpp
    CHANGED
    
    | @@ -28,8 +28,7 @@ | |
| 28 28 |  | 
| 29 29 | 
             
            #include <Gosu/Platform.hpp>
         | 
| 30 30 | 
             
            #include <Gosu/Fwd.hpp>
         | 
| 31 | 
            -
            #include < | 
| 32 | 
            -
            #include <boost/scoped_ptr.hpp>
         | 
| 31 | 
            +
            #include <Gosu/TR1.hpp>
         | 
| 33 32 | 
             
            #include <vector>
         | 
| 34 33 |  | 
| 35 34 | 
             
            namespace Gosu
         | 
| @@ -84,7 +83,7 @@ namespace Gosu | |
| 84 83 | 
             
                class Input
         | 
| 85 84 | 
             
                {
         | 
| 86 85 | 
             
                    struct Impl;
         | 
| 87 | 
            -
                     | 
| 86 | 
            +
                    const std::auto_ptr<Impl> pimpl;
         | 
| 88 87 |  | 
| 89 88 | 
             
            	public:
         | 
| 90 89 | 
             
                    #ifdef GOSU_IS_WIN
         | 
| @@ -146,11 +145,11 @@ namespace Gosu | |
| 146 145 |  | 
| 147 146 | 
             
            		//! Assignable events that are called by update. You can bind these to your own functions.
         | 
| 148 147 | 
             
            		//! If you use the Window class, it will assign forward these to its own methods.
         | 
| 149 | 
            -
                     | 
| 148 | 
            +
                    std::tr1::function<void (Button)> onButtonDown, onButtonUp;
         | 
| 150 149 |  | 
| 151 150 | 
             
            		//! Assignable events that are called by update. You can bind these to your own functions.
         | 
| 152 151 | 
             
            		//! If you use the Window class, it will assign forward these to its own methods.
         | 
| 153 | 
            -
                     | 
| 152 | 
            +
                    std::tr1::function<void (Touch)> onTouchBegan, onTouchMoved, onTouchEnded;
         | 
| 154 153 |  | 
| 155 154 | 
             
                    //! Returns the currently active TextInput instance, or 0.
         | 
| 156 155 | 
             
                    TextInput* textInput() const;
         | 
    
        data/Gosu/Sockets.hpp
    CHANGED
    
    | @@ -4,19 +4,17 @@ | |
| 4 4 | 
             
            #ifndef GOSU_SOCKETS_HPP
         | 
| 5 5 | 
             
            #define GOSU_SOCKETS_HPP
         | 
| 6 6 |  | 
| 7 | 
            -
            #include < | 
| 8 | 
            -
            #include <boost/function.hpp>
         | 
| 9 | 
            -
            #include <boost/scoped_ptr.hpp>
         | 
| 7 | 
            +
            #include <Gosu/TR1.hpp>
         | 
| 10 8 | 
             
            #include <cstddef>
         | 
| 11 9 | 
             
            #include <string>
         | 
| 12 10 |  | 
| 13 11 | 
             
            namespace Gosu
         | 
| 14 12 | 
             
            {
         | 
| 15 13 | 
             
                //! Addresses are returned from and given to Gosu functions in host byte order.
         | 
| 16 | 
            -
                typedef  | 
| 14 | 
            +
                typedef std::tr1::uint32_t SocketAddress;
         | 
| 17 15 |  | 
| 18 16 | 
             
                //! Ports are returned from and given to Gosu functions in host byte order.
         | 
| 19 | 
            -
                typedef  | 
| 17 | 
            +
                typedef std::tr1::uint16_t SocketPort;
         | 
| 20 18 |  | 
| 21 19 | 
             
                //! Constant that can be used as a placeholder for an arbitrary port, e.g. when
         | 
| 22 20 | 
             
                //! starting to listen.
         | 
| @@ -37,7 +35,7 @@ namespace Gosu | |
| 37 35 | 
             
                class MessageSocket
         | 
| 38 36 | 
             
                {
         | 
| 39 37 | 
             
                    struct Impl;
         | 
| 40 | 
            -
                     | 
| 38 | 
            +
                    const std::auto_ptr<Impl> pimpl;
         | 
| 41 39 |  | 
| 42 40 | 
             
                public:
         | 
| 43 41 | 
             
                    //! Opens a message socket for listening at the specified port.
         | 
| @@ -66,7 +64,7 @@ namespace Gosu | |
| 66 64 | 
             
                        std::size_t size);*/
         | 
| 67 65 |  | 
| 68 66 | 
             
                    //! If assigned, will be called by update for every packet received.
         | 
| 69 | 
            -
                     | 
| 67 | 
            +
                    std::tr1::function<void (SocketAddress, SocketPort, const void*,
         | 
| 70 68 | 
             
                        std::size_t)> onReceive;
         | 
| 71 69 | 
             
                };
         | 
| 72 70 |  | 
| @@ -86,7 +84,7 @@ namespace Gosu | |
| 86 84 | 
             
                class CommSocket
         | 
| 87 85 | 
             
                {
         | 
| 88 86 | 
             
                    struct Impl;
         | 
| 89 | 
            -
                     | 
| 87 | 
            +
                    const std::auto_ptr<Impl> pimpl;
         | 
| 90 88 |  | 
| 91 89 | 
             
                public:
         | 
| 92 90 | 
             
                    CommSocket(CommMode mode, SocketAddress targetAddress,
         | 
| @@ -110,8 +108,8 @@ namespace Gosu | |
| 110 108 | 
             
                    void sendPendingData();
         | 
| 111 109 | 
             
                    std::size_t pendingBytes() const;
         | 
| 112 110 |  | 
| 113 | 
            -
                     | 
| 114 | 
            -
                     | 
| 111 | 
            +
                    std::tr1::function<void (const void*, std::size_t)> onReceive;
         | 
| 112 | 
            +
                    std::tr1::function<void ()> onDisconnection;
         | 
| 115 113 | 
             
                };
         | 
| 116 114 |  | 
| 117 115 | 
             
                //! Wraps a TCP socket that waits on a specific port and can create
         | 
| @@ -119,7 +117,7 @@ namespace Gosu | |
| 119 117 | 
             
                class ListenerSocket
         | 
| 120 118 | 
             
                {
         | 
| 121 119 | 
             
                    struct Impl;
         | 
| 122 | 
            -
                     | 
| 120 | 
            +
                    const std::auto_ptr<Impl> pimpl;
         | 
| 123 121 |  | 
| 124 122 | 
             
                public:
         | 
| 125 123 | 
             
                    ListenerSocket(SocketPort port);
         | 
| @@ -132,7 +130,7 @@ namespace Gosu | |
| 132 130 |  | 
| 133 131 | 
             
                    //! This signal is fired by update() whenever someone connects
         | 
| 134 132 | 
             
                    //! to the port which is currently listened on.
         | 
| 135 | 
            -
                     | 
| 133 | 
            +
                    std::tr1::function<void (Socket&)> onConnection;
         | 
| 136 134 | 
             
                };
         | 
| 137 135 | 
             
            }
         | 
| 138 136 |  |