On 8/23/2014 7:19 PM, nikki wrote:
How would you write it?
```
// Put this somewhere you can import it into any module calling SDL
class SDLError : Error {
public this( string msg, string file = __FILE__, size_t line =
__LINE__ ) {
import std.string;
import std.conv;
import derelict.sdl2.sdl;
auto fmsg = format( "%s: %s", msg, to!string( SDL_GetError() ));
super( fmsg, file, line, null );
}
}
void init()
{
//Initialize SDL
if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
{
throw new SDL_Error( "Failed to init SDL" );
}
//Create window
gWindow = SDL_CreateWindow( "SDL Tutorial",
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH,
SCREEN_HEIGHT, SDL_WINDOW_SHOWN );
if( !gWindow )
{
throw new SDLError( "Failed to create window" );
}
//Get window surface
gScreenSurface = SDL_GetWindowSurface( gWindow );
}
```
Regarding 'is' vs == for equality, I prefer to use the latter with
pointers returned from C so that I can keep in mind that it actually is
something given to me from C and is not managed by the GC. I can tell at
a glance.
---
This email is free from viruses and malware because avast! Antivirus protection
is active.
http://www.avast.com