log

age author description
Sun, 17 Jan 2010 06:14:04 +0000 Ryan C. Gordon Merged r4210:5510 from branches/SDL-1.2/src/audio/pulse: PulseAudio updates.
Fri, 15 Jan 2010 20:05:49 +0000 Sam Lantinga Fixed building under Visual Studio
Wed, 13 Jan 2010 19:29:33 +0000 Ryan C. Gordon Clean up assertion API for public use.
Wed, 13 Jan 2010 16:58:24 +0000 Ryan C. Gordon Whoops, that should be vfprintf(), not fprintf(). :)
Wed, 13 Jan 2010 16:21:26 +0000 Ryan C. Gordon Friendly warning comment.
Wed, 13 Jan 2010 16:18:36 +0000 Ryan C. Gordon Fixed compiler warning.
Wed, 13 Jan 2010 16:10:25 +0000 Ryan C. Gordon Whitespace tweak.
Wed, 13 Jan 2010 16:09:27 +0000 Ryan C. Gordon Fixed comment.
Wed, 13 Jan 2010 16:08:03 +0000 Ryan C. Gordon Handle assert init/quit better.
Wed, 13 Jan 2010 09:48:42 +0000 Sam Lantinga Moved the assertion tests to testplatform
Wed, 13 Jan 2010 09:44:17 +0000 Ryan C. Gordon Handle assertion failures when SDL_Init() isn't called.
Wed, 13 Jan 2010 09:13:37 +0000 Ryan C. Gordon Handle assertion failures during assertion handler.
Wed, 13 Jan 2010 09:10:17 +0000 Ryan C. Gordon Fixed Mac OS X assertion code.
Wed, 13 Jan 2010 08:53:32 +0000 Sam Lantinga Don't forget to install the new header. :)
Wed, 13 Jan 2010 08:52:47 +0000 Sam Lantinga Quiet tests shouldn't prompt during assertions
Wed, 13 Jan 2010 08:44:46 +0000 Sam Lantinga Leave fullscreen mode to pop an assertion dialog
Wed, 13 Jan 2010 08:30:34 +0000 Sam Lantinga Assume _exit() is available. It may be, even if unix isn't defined.
Wed, 13 Jan 2010 08:25:16 +0000 Sam Lantinga Moved SDL_FUNCTION out so it's always available, and added SDL_FILE and SDL_LINE
Wed, 13 Jan 2010 08:06:32 +0000 Sam Lantinga Allow configure to override assertion settings, but by default this comes from the build optimization level.
Wed, 13 Jan 2010 07:52:53 +0000 Sam Lantinga Automatically figure out the appropriate assertion level
Wed, 13 Jan 2010 07:36:00 +0000 Sam Lantinga Fixed release level assertions
Wed, 13 Jan 2010 07:33:33 +0000 Sam Lantinga Fixed include ordering
Wed, 13 Jan 2010 07:32:25 +0000 Sam Lantinga Check for signal.h before using it, don't assume unix is available or required
Wed, 13 Jan 2010 07:25:28 +0000 Sam Lantinga The config sets the default assertion level so people can override it for their own use in application code.
Wed, 13 Jan 2010 07:00:20 +0000 Ryan C. Gordon Fixed build problems with gcc __attribute__.
Wed, 13 Jan 2010 06:47:17 +0000 Sam Lantinga First pass at Ryan's assertion code, minor tweaks to come.
Wed, 13 Jan 2010 06:39:44 +0000 Ryan C. Gordon Added a few basic things to svn:ignore.
Wed, 13 Jan 2010 05:25:16 +0000 Sam Lantinga Don't warn about unused variables - there's a ton of them. :)
Wed, 13 Jan 2010 05:24:03 +0000 Sam Lantinga Fixed compiler warning (missing prototype for SDL_Quit())
Wed, 13 Jan 2010 05:21:30 +0000 Sam Lantinga Fixed function prototype
Wed, 13 Jan 2010 05:08:41 +0000 Sam Lantinga Fixed Mac OS X Xcode build
Wed, 13 Jan 2010 04:58:31 +0000 Sam Lantinga Fixed iPhone build
Mon, 11 Jan 2010 21:49:09 +0000 Couriersud DirectFB driver compiles again
Mon, 11 Jan 2010 21:46:59 +0000 Couriersud Fix detection of directfb.h
Mon, 11 Jan 2010 07:58:55 +0000 Ryan C. Gordon Removed incorrect SDL_GetAudioDeviceName() call from loopwave.c.
Mon, 11 Jan 2010 07:45:34 +0000 Ryan C. Gordon Since we're not using the CoreAudio HAL now, we don't need to use EnableIO.
Mon, 11 Jan 2010 07:33:56 +0000 Ryan C. Gordon Patched to compile.
Sun, 10 Jan 2010 19:09:57 +0000 Ryan C. Gordon Call SDL_Init() before SDL_GetNumAudioDrivers().
Sun, 10 Jan 2010 18:25:04 +0000 Ryan C. Gordon Merged r4874:4875 from branches/SDL-1.2: testwm keyboard debug output.
Sun, 10 Jan 2010 18:19:35 +0000 Ryan C. Gordon Merged r3576:3577 from branches/SDL-1.2: X11 Xlibint.h include fixes.
Sun, 10 Jan 2010 09:16:46 +0000 Sam Lantinga Updated 1.2 revisions that need to be revisited
Sun, 10 Jan 2010 08:59:25 +0000 Ryan C. Gordon Revert r5463: Alpha blend "correctness" patch.
Sun, 10 Jan 2010 08:21:19 +0000 Ryan C. Gordon Merged r5194:5195 from branches/SDL-1.2: coldfire cpu arch support.
Sun, 10 Jan 2010 08:15:25 +0000 Ryan C. Gordon Merge r5179:5180 from branches/SDL-1.2: fatbuild.sh Xcode 3.2 fix.
Sun, 10 Jan 2010 07:48:14 +0000 Ryan C. Gordon Merged r5070:5071 from branches/SDL-1.2: forcibly disable buggy MMX mixers.
Sun, 10 Jan 2010 07:40:12 +0000 Ryan C. Gordon Merged r4991:5154 from branches/SDL-1.2/src/audio/alsa: many 1.2.14 ALSA fixes.
Sun, 10 Jan 2010 06:32:41 +0000 Ryan C. Gordon Merged r5016:5017 from branches/SDL-1.2: PS2 DMA mapping fix.
Sun, 10 Jan 2010 06:18:39 +0000 Ryan C. Gordon Merged r4992:4993 from branches/SDL-1.2: increased alpha blend accuracy.
Sun, 10 Jan 2010 05:39:46 +0000 Ryan C. Gordon Merged r4866:4867 from branches/SDL-1.2: 64-bit Mac OS X 10.5 SDK fix.
Sun, 10 Jan 2010 05:06:03 +0000 Ryan C. Gordon Reverted r5460 ... this was merged from 1.2, but was later reverted there.
Sun, 10 Jan 2010 04:42:45 +0000 Ryan C. Gordon Merged r4784:4785 from branches/SDL-1.2: Mac OS X linker command line fixes.
Thu, 07 Jan 2010 04:39:44 +0000 Sam Lantinga Made the comment more readable
Thu, 07 Jan 2010 04:38:58 +0000 Sam Lantinga The OS/2 support has been removed, so we don't need this now.
Wed, 06 Jan 2010 21:04:11 +0000 Ryan C. Gordon Removed comment referring to previously-removed CD-ROM subsystem.
Wed, 06 Jan 2010 20:58:03 +0000 Ryan C. Gordon Merged r4717:4718 from branches/SDL-1.2: minor OS/2 DECLSPEC/SDLCALL fixes.
Wed, 06 Jan 2010 20:31:21 +0000 Ryan C. Gordon Merged r4713:4714 from branches/SDL-1.2: CoreAudio 64-bit & Snow Leopard fixes.
Wed, 06 Jan 2010 20:17:35 +0000 Ryan C. Gordon Merged r4710:4711 from branches/SDL-1.2: Mac OS X SDL_stdlib qsort build fixes.
Wed, 06 Jan 2010 07:45:58 +0000 Ryan C. Gordon Merged r4433:4434 from branches/SDL-1.2: fbcon fgets() return value test fix.
Wed, 06 Jan 2010 07:39:35 +0000 Ryan C. Gordon Merged r4412:4413 from branches/SDL-1.2: rwops documentation fix.
Wed, 06 Jan 2010 07:39:09 +0000 Sam Lantinga Removed the obsolete SDL 1.2 GAPI driver
Wed, 06 Jan 2010 07:37:15 +0000 Sam Lantinga I can't compile this, but it should be updated for the new rendering API now.
Wed, 06 Jan 2010 07:34:20 +0000 Ryan C. Gordon Merged r4121:4122 from branches/SDL-1.2: more double-free fixes.
Wed, 06 Jan 2010 07:26:49 +0000 Ryan C. Gordon Merged r4121:4122 from branches/SDL-1.2: win32 joystick double-free fix.
Wed, 06 Jan 2010 06:44:23 +0000 Ryan C. Gordon Merged r3808:3809 from branches/SDL-1.2: install_name_tool fix for fatbuild.sh.
Wed, 06 Jan 2010 06:40:16 +0000 Ryan C. Gordon Merged r3787:3788 from branches/SDL-1.2: better failures for joystick opening.
Wed, 06 Jan 2010 06:12:01 +0000 Sam Lantinga Fixed GL_RenderWritePixels() - thanks Ryan!
Wed, 06 Jan 2010 04:33:31 +0000 Sam Lantinga Fixed bug #924
Wed, 30 Dec 2009 19:48:23 +0000 Sam Lantinga We're using GNU recursive mutexes
Wed, 30 Dec 2009 19:38:08 +0000 Sam Lantinga Fixed bug #915
Wed, 30 Dec 2009 19:10:41 +0000 Sam Lantinga Removed in the interest of actually finishing 1.3. :)
Mon, 28 Dec 2009 08:28:24 +0000 Ryan C. Gordon Fixed buffer overflows in resamplers.
Thu, 24 Dec 2009 21:00:42 +0000 Sam Lantinga Added missing include for stdio
Thu, 24 Dec 2009 19:18:41 +0000 Sam Lantinga Updated to include new files
Thu, 24 Dec 2009 19:18:05 +0000 Sam Lantinga Updated to compile on Windows
Thu, 24 Dec 2009 19:16:08 +0000 Sam Lantinga Added rectangle test
Wed, 23 Dec 2009 06:39:18 +0000 Sam Lantinga Fixed bug #912
Wed, 23 Dec 2009 01:55:00 +0000 Sam Lantinga Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Fri, 18 Dec 2009 08:19:18 +0000 Sam Lantinga Make it possible to slim SDL down quite a bit for people who just want OpenGL
Fri, 18 Dec 2009 07:41:59 +0000 Sam Lantinga Added SDL_DrawRect(), SDL_DrawRects(), SDL_BlendRect() and SDL_BlendRects()
Fri, 18 Dec 2009 07:03:09 +0000 Sam Lantinga In the process of adding rectangle drawing
Thu, 17 Dec 2009 07:47:03 +0000 Sam Lantinga Fixed compile error on Windows.
Thu, 17 Dec 2009 07:46:13 +0000 Sam Lantinga Updated test code to use SDL_setenv()
Thu, 17 Dec 2009 07:22:48 +0000 Sam Lantinga Fixed crash in joystick handling code. Newer 2.6 kernels add an additional 'resolution' field to input_absinfo. Note that we don't use that structure since we want to have enough space for the values even when building with an older kernel.
Thu, 17 Dec 2009 06:08:20 +0000 Sam Lantinga Fixed bug #841
Thu, 17 Dec 2009 05:57:37 +0000 Sam Lantinga Fixed bug #843
Thu, 17 Dec 2009 04:01:29 +0000 Sam Lantinga Implemented 64-bit version of cpuid code
Thu, 17 Dec 2009 03:04:04 +0000 Sam Lantinga Added support for querying the number of CPUs available on Linux. This also happens to work on Mac OS X.
Wed, 16 Dec 2009 19:50:51 +0000 Ryan C. Gordon Initial band-aids on SDL_GetMouseState() API breakage. More work to come.
Wed, 16 Dec 2009 16:42:04 +0000 Sam Lantinga Fixed cpuid assembly to work on PIC code
Wed, 16 Dec 2009 16:08:17 +0000 Sam Lantinga Allocate memory only if we're going to overwrite an environment variable
Wed, 16 Dec 2009 11:03:38 +0000 Ryan C. Gordon Updated svn:ignore.
Wed, 16 Dec 2009 10:59:51 +0000 Ryan C. Gordon Implemented SDL_setenv(), moved SDL_putenv() to compat.
Wed, 16 Dec 2009 08:17:05 +0000 Sam Lantinga Implemented Windows version of SDL_GetCPUCount()
Wed, 16 Dec 2009 06:53:53 +0000 Sam Lantinga Added SDL_GetCPUCount() to see how many cores are available.
Wed, 16 Dec 2009 04:48:11 +0000 Sam Lantinga Fixed bug #741
Wed, 16 Dec 2009 03:02:31 +0000 Sam Lantinga Fixed bug #736
Wed, 16 Dec 2009 02:08:59 +0000 Sam Lantinga Added testfill to test raw fill performance
Wed, 16 Dec 2009 01:19:58 +0000 Sam Lantinga Nuffin'
Wed, 16 Dec 2009 01:06:48 +0000 Sam Lantinga Fixed bug #685
Wed, 16 Dec 2009 00:55:33 +0000 Sam Lantinga Fixed bug #666
Wed, 16 Dec 2009 00:44:53 +0000 Sam Lantinga Fixed bug #642
Tue, 15 Dec 2009 20:53:09 +0000 Sam Lantinga Default to allow either accelerated or not
Tue, 15 Dec 2009 20:36:31 +0000 Sam Lantinga OpenGL hardware acceleration defaults on
Tue, 15 Dec 2009 20:14:50 +0000 Sam Lantinga Fixed bug #815
Tue, 15 Dec 2009 20:11:29 +0000 Sam Lantinga Fixed bug #818
Tue, 15 Dec 2009 18:00:16 +0000 Ryan C. Gordon Added a warning comment to SDL_putenv().
Tue, 15 Dec 2009 09:20:10 +0000 Sam Lantinga Fixed bug #905
Tue, 15 Dec 2009 08:11:06 +0000 Sam Lantinga Fixed bug #906
Tue, 15 Dec 2009 05:34:58 +0000 Sam Lantinga Add a dummy function if SDL doesn't have STDIO support
Tue, 15 Dec 2009 02:16:01 +0000 Sam Lantinga Added notes from e-mail on desktop window implementation
Tue, 15 Dec 2009 00:00:30 +0000 Sam Lantinga Need to test the multi-draw APIs
Mon, 14 Dec 2009 23:43:57 +0000 Sam Lantinga Added svn checkout install step
Mon, 14 Dec 2009 23:29:37 +0000 Sam Lantinga The SDL 1.3 tests have been cleaned up not to include any 1.2 compatibility code.
Mon, 14 Dec 2009 06:52:17 +0000 Sam Lantinga Implemented read/write pixels for the X11 renderer
Mon, 14 Dec 2009 06:35:59 +0000 Sam Lantinga Added a test to check the read/write pixels API
Mon, 14 Dec 2009 06:35:27 +0000 Sam Lantinga Added support for SDL_PIXELFORMAT_RGB24 and SDL_PIXELFORMAT_BGR24 to SDL_PixelFormatEnumToMasks()
Mon, 14 Dec 2009 04:19:00 +0000 Sam Lantinga Added a BLENDMODE_MASK pixel shader so render tests succeed
Sun, 13 Dec 2009 08:00:25 +0000 Sam Lantinga The SDL_PaletteWatch structure is really internal-only.
Sun, 13 Dec 2009 06:21:22 +0000 Sam Lantinga Name the audio callback for documentation clarity.
Sun, 13 Dec 2009 06:19:32 +0000 Sam Lantinga Note that the WritePixels call is unsupported right now.
Sun, 13 Dec 2009 05:37:06 +0000 Sam Lantinga Fixed windows.h include
Sat, 12 Dec 2009 20:31:28 +0000 Sam Lantinga Fixed line drawing for D3D
Sat, 12 Dec 2009 20:30:25 +0000 Sam Lantinga Minor documentation fix
Sat, 12 Dec 2009 04:01:40 +0000 Sam Lantinga Finished implementing RenderReadPixels()
Sat, 12 Dec 2009 01:04:57 +0000 Sam Lantinga Removed the obsolete testcdrom target
Sat, 12 Dec 2009 00:55:13 +0000 Sam Lantinga Fixed building on iPhone
Sat, 12 Dec 2009 00:08:45 +0000 Sam Lantinga Allow points to be outside the window bounds, stress testing the clipping code.
Sat, 12 Dec 2009 00:08:02 +0000 Sam Lantinga Added mouse position for button handling
Sat, 12 Dec 2009 00:07:26 +0000 Sam Lantinga minor notes to self
Fri, 11 Dec 2009 09:59:36 +0000 Sam Lantinga Fixed X11 line implementation - clip lines that are going to go outside the window.
Fri, 11 Dec 2009 09:57:54 +0000 Sam Lantinga Make sure we fully clip the first point before starting to adjust the second point.
Fri, 11 Dec 2009 09:22:34 +0000 Sam Lantinga Added an automated test for rectangle routines, currently only testing line clipping.
Fri, 11 Dec 2009 09:13:51 +0000 Sam Lantinga Fixed constness in RenderRects() parameter
Fri, 11 Dec 2009 08:03:43 +0000 Sam Lantinga Fixed bug #896
Thu, 10 Dec 2009 09:27:23 +0000 Sam Lantinga X11 driver compiles again, lines are not yet implemented
Thu, 10 Dec 2009 08:28:26 +0000 Sam Lantinga Switch to mixed case for consistency with other enumerations
Wed, 09 Dec 2009 15:56:56 +0000 Sam Lantinga Added interfaces for batch drawing of points, lines and rects:
Mon, 07 Dec 2009 10:08:24 +0000 Sam Lantinga Hey, those automated tests are coming in handy! Fixed GDI rendering semantics
Mon, 07 Dec 2009 09:44:55 +0000 Sam Lantinga Implemented RenderReadPixels() and RenderWritePixels() for GDI renderer.
Mon, 07 Dec 2009 08:02:20 +0000 Sam Lantinga This fixes the OpenGL rendering test, at least with my ATI card...
Mon, 07 Dec 2009 08:01:58 +0000 Sam Lantinga Fixed crash initializing the dummy driver
Mon, 07 Dec 2009 08:01:20 +0000 Sam Lantinga On Windows the minimum window size may be larger than 80, so explicitly request the expected rectangle.
Sun, 06 Dec 2009 08:39:01 +0000 Sam Lantinga The window position is display relative, at least for now...
Sun, 06 Dec 2009 08:16:23 +0000 Sam Lantinga Fixed crash
Sun, 06 Dec 2009 08:03:38 +0000 Sam Lantinga Added an API function to query geometry of multiple monitors:
Sun, 06 Dec 2009 06:21:39 +0000 Sam Lantinga Fixed to use the correct display adapter
Sat, 05 Dec 2009 22:13:36 +0000 Sam Lantinga Fixed compiler warnings
Sat, 05 Dec 2009 19:57:49 +0000 Sam Lantinga Fixed compilation on Mac OS X 10.4
Sat, 05 Dec 2009 19:46:24 +0000 Sam Lantinga Allow overriding the number of build jobs
Sat, 05 Dec 2009 05:13:17 +0000 Sam Lantinga Made the window flag comments more consistent
Sat, 05 Dec 2009 04:39:59 +0000 Sam Lantinga Added related functions
Fri, 04 Dec 2009 09:01:48 +0000 Sam Lantinga Don't add any renderers if you can't add any displays
Fri, 04 Dec 2009 08:45:08 +0000 Sam Lantinga Fixed calls to SDL_AddRenderDriver()
Fri, 04 Dec 2009 08:26:32 +0000 Sam Lantinga Fixed compiling the D3D renderer
Thu, 03 Dec 2009 08:43:12 +0000 Sam Lantinga Added support for SDL 1.2 environment variables:
Thu, 03 Dec 2009 08:33:39 +0000 Sam Lantinga Fixed mouse events for fullscreen windows on Mac OS X
Thu, 03 Dec 2009 05:05:26 +0000 Sam Lantinga Restore the video mode after shutting down the renderer, which fixes an error deleting the OpenGL context on Mac OS X.
Thu, 03 Dec 2009 04:33:05 +0000 Sam Lantinga Missing pop over a jump
Wed, 02 Dec 2009 07:56:09 +0000 Sam Lantinga Added Ctrl-Z common key binding
Wed, 02 Dec 2009 07:55:23 +0000 Sam Lantinga Restore the desktop mode when requested
Wed, 02 Dec 2009 07:42:10 +0000 Sam Lantinga If we're fullscreen on a single-head system and lose focus, minimize
Wed, 02 Dec 2009 07:38:28 +0000 Sam Lantinga On multi-display systems it's perfectly reasonable to have focus on a window on another monitor while the application is fullscreen.
Wed, 02 Dec 2009 07:28:58 +0000 Sam Lantinga Don't need to hide the menu bar if we're not on the main display
Wed, 02 Dec 2009 07:25:06 +0000 Sam Lantinga Changed so that it's obvious that the two code blocks are related.
Wed, 02 Dec 2009 06:10:18 +0000 Sam Lantinga Fixed mouse coordinates for fullscreen mode
Tue, 01 Dec 2009 12:08:34 +0000 Sam Lantinga The window positions are relative to the origin of the windowing system (upper left of the primary display).
Tue, 01 Dec 2009 11:50:00 +0000 Sam Lantinga Added support for placing windows on different displays
Tue, 01 Dec 2009 10:41:58 +0000 Sam Lantinga Ensure that the main display is picked up first
Tue, 01 Dec 2009 10:34:01 +0000 Sam Lantinga Allow mirrored displays, but only the primary display in a mirrored set.
Tue, 01 Dec 2009 09:04:28 +0000 Sam Lantinga Explicitly clear fullscreen status rather than relying on the window focus behavior.
Tue, 01 Dec 2009 08:56:12 +0000 Sam Lantinga Whenever a window becomes fullscreen, shown, unminimized, and has input focus it will change the display to the corresponding fullscreen video mode.
Tue, 01 Dec 2009 06:15:10 +0000 Sam Lantinga Removed a little redundancy in the naming
Tue, 01 Dec 2009 05:57:15 +0000 Sam Lantinga Work in progress on multi-display support:
Mon, 30 Nov 2009 21:04:25 +0000 Sam Lantinga Reduced the push/pop sequence to a single pair, and ported this fix over to the other architectures.
Mon, 30 Nov 2009 19:52:34 +0000 Sam Lantinga Fixed crash - need to save and restore rbx around cpuid, since the compiler may be assuming the stack pointer isn't being modified when filling in %0.
Mon, 30 Nov 2009 17:57:12 +0000 Sam Lantinga Added support for 32-bit BMP files with an alpha channel
Fri, 27 Nov 2009 19:29:27 +0000 Sam Lantinga Joe 2009-11-23 21:31:10 PST
Fri, 27 Nov 2009 03:11:26 +0000 Sam Lantinga Adam Strzelecki to SDL
Thu, 26 Nov 2009 05:55:57 +0000 Sam Lantinga Adam Strzelecki to SDL
Wed, 25 Nov 2009 07:42:23 +0000 Sam Lantinga SDL_CreateWindowFrom() is actually going to be supported. :)
Wed, 25 Nov 2009 06:24:15 +0000 Sam Lantinga Clarified the windowID parameter
Wed, 25 Nov 2009 06:00:00 +0000 Sam Lantinga Add error messages for failure cases
Wed, 25 Nov 2009 04:41:09 +0000 Sam Lantinga Added the automated test to the Visual Studio 2008 project
Tue, 24 Nov 2009 19:28:27 +0000 Mike Gorchak Override renderer for OpenGL window, only in case if OpenGL or OpenGL ES renderers are enabled.
Tue, 24 Nov 2009 16:43:18 +0000 Sam Lantinga Fixed bug #771
Tue, 24 Nov 2009 08:12:32 +0000 Sam Lantinga Eric Wing to Sam, hfutrell
Tue, 24 Nov 2009 04:59:50 +0000 Sam Lantinga Fixed bug #891
Tue, 24 Nov 2009 04:48:12 +0000 Sam Lantinga Mason Wheeler to sdl
Sun, 22 Nov 2009 20:53:53 +0000 Sam Lantinga Set the error so someone can get more information
Sun, 22 Nov 2009 20:00:00 +0000 Sam Lantinga Made the comment actually mean something. :)
Sun, 22 Nov 2009 07:00:26 +0000 Sam Lantinga More fixes to compile under Visual C++
Sun, 22 Nov 2009 06:42:58 +0000 Sam Lantinga Fixed include paths for Visual C++