using SDL2; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Linq; using testdrid.SdlWrapper; namespace SDL2Demo.Screenhacks { [ScreenHackId(1)] internal class PixelTest : ScreenHack { private Texture _texture; private byte[] buffer; protected override void Setup() { _texture = Texture.Create(renderer, SDL.SDL_TextureAccess.SDL_TEXTUREACCESS_STREAMING, windowRectangle.Width, windowRectangle.Height); _texture.SetDrawBlendMode(SDL.SDL_BlendMode.SDL_BLENDMODE_BLEND); buffer = new byte[3]; } public override void MousePressed() { throw new NotImplementedException(); } public override void Dispose() { _texture.Dispose(); } public override void Render() { int x = rng.Next(windowRectangle.Width); int y = rng.Next(windowRectangle.Height); rng.NextBytes(buffer); _texture.Lock(); _texture.SetPixel(x, y, 255, buffer[0], buffer[1], buffer[2]); _texture.Unlock(); renderer.Copy(_texture, topLeft); } } }