365 Commits

Author SHA1 Message Date
Dmitry Marakasov
fa3cb7bcd9 Add std::hash support for Point and Rect 2015-11-26 13:42:16 +03:00
Dmitry Marakasov
a63cdde38f Move Rect and Point comparison operators out of classes 2015-11-26 13:14:17 +03:00
Dmitry Marakasov
95142b065c Add Point and Rect less-than operator
This allows using them as map and set keys
2015-11-26 12:57:36 +03:00
Vladimir Gamalian
990efa6ef6 Remove unused variables 2015-10-15 16:45:08 +07:00
Dmitry Marakasov
549de6c262 Fix return value descripions 2015-10-15 12:35:30 +03:00
Carsten Elton Sorensen
198b0bbbc8 Added GetDrawableSize, GetDrawableWidth and GetDrawableHeight for HiDPI support 2015-10-15 09:44:35 +02:00
Dmitry Marakasov
a9d49da7fa Add casts to fix build on 32bit 2015-10-14 01:06:05 +03:00
Dmitry Marakasov
7c4396896a Merge remote-tracking branch 'vladimirgamalian/patch-1' 2015-09-22 19:36:33 +03:00
Dmitry Marakasov
3bd28d002e Finer grained doc groups for Mixer 2015-09-22 19:34:56 +03:00
Vladimir Gamalian
959d89dce7 Fix missed std::min 2015-09-22 14:17:34 +07:00
Dmitry Marakasov
87f8b6fc5b Finer grained doc groups 2015-09-21 16:09:27 +03:00
Dmitry Marakasov
8be33f4fb4 Add explicit Exception default constructor 2015-09-17 15:33:00 +03:00
Dmitry Marakasov
595da1e61e Fix infinite loop 2015-09-17 15:33:00 +03:00
Dmitry Marakasov
d29b7528a6 Fix some type conversion warnings 2015-09-17 15:32:54 +03:00
Dmitry Marakasov
206d430e25 Fix argument types to match upstream API 2015-09-17 15:32:47 +03:00
Dmitry Marakasov
adaecc22cf Fix return type to match upstream API 2015-09-17 15:32:36 +03:00
Dmitry Marakasov
9ecd4a12fe Fix variable types 2015-09-17 15:32:29 +03:00
Dmitry Marakasov
6aded10f60 These are class methods 2015-09-16 22:52:15 +03:00
Dmitry Marakasov
18d58a4efb Merge branch 'constexpr-pointrect' 2015-09-07 02:58:12 +03:00
Dmitry Marakasov
4d18ea0233 Merge branch 'update-from-surface' 2015-09-07 02:58:08 +03:00
Dmitry Marakasov
bc945cf8fa Add documentation groups for Font and Mixer 2015-09-07 02:44:23 +03:00
Dmitry Marakasov
eabd23373d Fix unneeded doxygen autolinks 2015-09-07 02:27:35 +03:00
Dmitry Marakasov
ecb62ab8ab Improve wording of class descriptions 2015-09-07 02:24:11 +03:00
Dmitry Marakasov
b7eb867aa5 Sort out Chunk::{Get,Set}Volume 2015-09-07 01:56:53 +03:00
Dmitry Marakasov
2d9787c63e Merge branch 'mixer' 2015-09-07 00:52:27 +03:00
Dmitry Marakasov
326378c59c Add buildin effects support 2015-09-04 23:08:04 +03:00
Dmitry Marakasov
01a537218a Fix comments 2015-09-01 00:35:10 +03:00
Dmitry Marakasov
0cc8e489f8 Include <memory> for unique_ptr 2015-08-31 19:06:34 +03:00
Dmitry Marakasov
6ebd677893 Implement mixer groups 2015-08-31 19:02:04 +03:00
Dmitry Marakasov
f3511a1a71 Implement mixer music 2015-08-31 18:38:29 +03:00
Dmitry Marakasov
8155dc8158 Better method name 2015-08-31 18:15:45 +03:00
Dmitry Marakasov
88b7733d2a Fix ChannelFading return type and name 2015-08-31 18:07:57 +03:00
Dmitry Marakasov
7916195c15 Use more meaningful function names 2015-08-30 16:39:06 +03:00
Dmitry Marakasov
995003768b Document Mixer member typedef 2015-08-29 02:43:03 +03:00
Dmitry Marakasov
e37d67725e It is actually safe to free chunks which are still playing
Though documentation and even a comment at the start of Mix_FreeChunk()
state that it's unsafe to free chunk which is still being played, the
function actually contains the code to stop all playback of a chunk which is
being freed. See SDL2_mixer 2.0.0, mixer.c:759:

    /* Guarantee that this chunk isn't playing */
    SDL_LockAudio();
    if ( mix_channel ) {
        for ( i=0; i<num_channels; ++i ) {
            if ( chunk == mix_channel[i].chunk ) {
                mix_channel[i].playing = 0;
                mix_channel[i].looping = 0;
            }
        }
    }
    SDL_UnlockAudio();

As a result, no special actions are required to stop Mixer playback
before destruction of the Chunks (which is a common case with SDL2pp,
as Chunks may only be constructed after Mixer is created, and are
correspondingly destroyed in reverse order, e.g. before Mixer).
2015-08-29 02:34:16 +03:00
Dmitry Marakasov
1ba35e5575 Implement ChannelFinished() 2015-08-28 23:45:52 +03:00
Dmitry Marakasov
ed12546cc5 Fix copypasta 2015-08-28 23:45:24 +03:00
Dmitry Marakasov
30734317c8 It's a good idea to halt playback before Chunk destruction 2015-08-28 23:26:51 +03:00
Dmitry Marakasov
c5dc35574d Implement mixer playback 2015-08-28 23:23:47 +03:00
Dmitry Marakasov
a25c84932c Add stub Mixer class 2015-08-28 23:04:19 +03:00
Dmitry Marakasov
c49b02ea47 Mark Wav move ctor/assign as noexcept 2015-08-28 19:34:56 +03:00
Dmitry Marakasov
732bc1a7c6 Add SDL_mixer chunk wrapper class 2015-08-28 19:26:32 +03:00
Dmitry Marakasov
ba7888ec2d Style fix and note for the unapparent code 2015-08-27 20:39:00 +03:00
Dmitry Marakasov
01ca026a25 Add correct seealso URLs 2015-08-27 20:38:22 +03:00
Dmitry Marakasov
a0843fbb7d Add mixer to main SDL2pp include file 2015-08-27 20:34:54 +03:00
Vladimir Gamalian
b5561e9b30 Update cmake infrastructure for SDL2_mixer 2015-08-27 20:32:02 +03:00
Vladimir Gamalian
5078b44ec8 Add sdl mixer lib init/deinit 2015-08-27 20:31:06 +03:00
Vladimir Gamalian
5c1bf3e6cf Create SDLMixer class skeleton 2015-08-27 20:29:48 +03:00
Dmitry Marakasov
4e12008bcf Implement Texture::Update() which takes pixel data from Surface 2015-08-27 19:11:08 +03:00
Dmitry Marakasov
c54a021d8e Add Surface::GetFormat(), analogus to Texture::GetFormat() 2015-08-27 18:21:31 +03:00