public Player(IntPtr shandle, Size ssize) { uniAudio = new BassAudio(); _showRect = new Rectangle(0, 0, ssize.Width, ssize.Height); _screenCenter = new Vector2((float)ssize.Width / 2, (float)ssize.Height / 2); _sbScale = Math.Min(_showRect.Width / 640f, _showRect.Height / 480f); SBtramsform = Matrix.CreateTranslation(-320, -240, 0) * Matrix.CreateScale(_sbScale, _sbScale, 1) * Matrix.CreateTranslation(new Vector3(_screenCenter, 0)); /* presentParams.DeviceWindowHandle=handle; presentParams.IsFullScreen=false; device = new GraphicsDevice(); device.Reset(presentParams, GraphicsAdapter.DefaultAdapter);*/ var presentParams = new PresentationParameters { IsFullScreen = false, SwapEffect = SwapEffect.Discard, BackBufferHeight = Math.Max(_showRect.Height, 1), BackBufferWidth = Math.Max(_showRect.Width, 1) }; _handle = shandle; device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, DeviceType.Hardware, _handle, CreateOptions.MixedVertexProcessing, presentParams); AlphaSprite = new SpriteBatch(device); AdditiveSprite = new SpriteBatch(device); fxplayer = new BassAudio[MaxFxplayer]; for (int i = 0; i < MaxFxplayer; i++) { fxplayer[i] = new BassAudio(); } using (var s = new MemoryStream()) { Resources.defaultBG.Save(s, ImageFormat.Png); s.Seek(0, SeekOrigin.Begin); _bgTexture = Texture2D.FromFile(device, s); } }
public Player(IntPtr Shandle, Size Ssize) { uniAudio = new BassAudio(); handle = Shandle; showRect = new Rectangle(0, 0, Ssize.Width, Ssize.Height); ScreenCenter = new Vector2((float)Ssize.Width / 2, (float)Ssize.Height / 2); SBScale = Math.Min(showRect.Width / 640f, showRect.Height / 480f); SBtramsform = Matrix.CreateTranslation(-320, -240, 0) * Matrix.CreateScale(SBScale, SBScale, 1) * Matrix.CreateTranslation(new Vector3(ScreenCenter, 0)); /* presentParams.DeviceWindowHandle=handle; presentParams.IsFullScreen=false; device = new GraphicsDevice(); device.Reset(presentParams, GraphicsAdapter.DefaultAdapter);*/ presentParams = new PresentationParameters(); presentParams.IsFullScreen = false; presentParams.SwapEffect = SwapEffect.Discard; presentParams.BackBufferHeight = Math.Max(showRect.Height, 1); presentParams.BackBufferWidth = Math.Max(showRect.Width, 1); device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, DeviceType.Hardware, handle, CreateOptions.MixedVertexProcessing, presentParams); AlphaSprite = new SpriteBatch(device); AdditiveSprite = new SpriteBatch(device); fxplayer = new BassAudio[maxfxplayer]; for (int i = 0; i < maxfxplayer; i++) { fxplayer[i] = new BassAudio(); } using (MemoryStream s = new MemoryStream()) { OSUplayer.Properties.Resources.defaultBG.Save(s, System.Drawing.Imaging.ImageFormat.Png); s.Seek(0, SeekOrigin.Begin); BGTexture = Texture2D.FromFile(device, s); } }