public static void Run()
{
int flags = (Sdl.SDL_HWSURFACE | Sdl.SDL_DOUBLEBUF | Sdl.SDL_ANYFORMAT);
int bpp = 16;
int width = 640;
int height = 480;
bool quitFlag = false;
Random rand = new Random();
//string musicFile = "Data/SdlExamples.Reactangles.sound.ogg";
Sdl.SDL_Event evt;
try
{
Sdl.SDL_Init(Sdl.SDL_INIT_EVERYTHING);
Sdl.SDL_WM_SetCaption("Tao.Sdl Example - GfxPrimitives", "");
IntPtr surfacePtr = Sdl.SDL_SetVideoMode(
width,
height,
bpp,
flags);
Sdl.SDL_Rect rect2 =
new Sdl.SDL_Rect(0, 0, (short)width, (short)height);
Sdl.SDL_SetClipRect(surfacePtr, ref rect2);
while (quitFlag == false)
{
Sdl.SDL_PollEvent(out evt);
if (evt.type == Sdl.SDL_QUIT)
{
quitFlag = true;
}
else if (evt.type == Sdl.SDL_KEYDOWN)
{
if ((evt.key.keysym.sym == (int)Sdl.SDLK_ESCAPE) ||
(evt.key.keysym.sym == (int)Sdl.SDLK_q))
{
quitFlag = true;
}
}
try
{
SdlGfx.filledCircleRGBA(surfacePtr, (short)rand.Next(10, width - 100), (short)rand.Next(10, height - 100), (short)rand.Next(10, 100), (byte)rand.Next(255), (byte)rand.Next(255), (byte)rand.Next(255), (byte)rand.Next(255));
Sdl.SDL_Flip(surfacePtr);
Thread.Sleep(100);
}
catch (Exception) { }
}
}
catch
{
Sdl.SDL_Quit();
throw;
}
finally
{
Sdl.SDL_Quit();
}
}
#endregion Run()