예제 #1
0
        public void polygonRGBA()
        {
            this.InitSdl();
            //Random rand = new Random();
            int result =
                SdlGfx.polygonRGBA(surfacePtr, vx, vy, vx.Length, 200, 0, (byte)0, 254);

            result = Sdl.SDL_Flip(surfacePtr);
            Thread.Sleep(sleepTime);
            Assert.AreEqual(result, 0);
            this.Quit();
        }
예제 #2
0
 /// <summary>
 /// Draw filled primitive onto surface
 /// </summary>
 /// <param name="surface">Surface to draw to</param>
 /// <param name="color">Color to fill primitive</param>
 /// <param name="antiAlias">antialias primitive</param>
 /// <param name="fill">fill primitive with color</param>
 public void Draw(Surface surface, System.Drawing.Color color, bool antiAlias, bool fill)
 {
     if (surface == null)
     {
         throw new ArgumentNullException("surface");
     }
     if (fill)
     {
         int result = SdlGfx.filledPolygonRGBA(surface.Handle, this.PositionsX(), this.PositionsY(), this.NumberOfSides, color.R, color.G, color.G,
                                               color.A);
         GC.KeepAlive(this);
         if (result != (int)SdlFlag.Success)
         {
             throw SdlException.Generate();
         }
     }
     else
     {
         int result = 0;
         if (antiAlias)
         {
             result = SdlGfx.aapolygonRGBA(surface.Handle, this.PositionsX(), this.PositionsY(), this.NumberOfSides, color.R, color.G, color.B,
                                           color.A);
             GC.KeepAlive(this);
         }
         else
         {
             result = SdlGfx.polygonRGBA(surface.Handle, this.PositionsX(), this.PositionsY(), this.NumberOfSides, color.R, color.G, color.B,
                                         color.A);
             GC.KeepAlive(this);
         }
         if (result != (int)SdlFlag.Success)
         {
             throw SdlException.Generate();
         }
     }
 }