protected virtual async Task Render() { var bitmap = default(WriteableBitmap); var success = default(bool); var info = default(BitmapHelper.RenderInfo); await Windows.Invoke(() => { bitmap = this.Bitmap; success = bitmap.TryLock(LockTimeout); if (!success) { return; } info = BitmapHelper.CreateRenderInfo(bitmap, this.Color); }).ConfigureAwait(false); if (!success) { //Failed to establish lock. this.Start(); return; } Render(info, this.RendererData); await Windows.Invoke(() => { bitmap.AddDirtyRect(new Int32Rect(0, 0, bitmap.PixelWidth, bitmap.PixelHeight)); bitmap.Unlock(); }).ConfigureAwait(false); this.Start(); }
public async Task Clear() { var bitmap = default(WriteableBitmap); var success = default(bool); var info = default(BitmapHelper.RenderInfo); await Windows.Invoke(() => { bitmap = this.Bitmap; success = bitmap.TryLock(LockTimeout); if (!success) { return; } info = BitmapHelper.CreateRenderInfo(bitmap, Colors.Transparent); }).ConfigureAwait(false); BitmapHelper.Clear(info); await Windows.Invoke(() => { bitmap.AddDirtyRect(new Int32Rect(0, 0, bitmap.PixelWidth, bitmap.PixelHeight)); bitmap.Unlock(); }).ConfigureAwait(false); }
public async Task Render() { const byte SHADE = 30; var bitmap = default(WriteableBitmap); var success = default(bool); var waveRenderInfo = default(BitmapHelper.RenderInfo); var powerRenderInfo = default(BitmapHelper.RenderInfo); if (this.RendererData == null) { return; } await Windows.Invoke(() => { bitmap = this.Bitmap; success = bitmap.TryLock(LockTimeout); if (!success) { return; } if (this.Rms.Value) { var colors = this.Color.ToPair(SHADE); waveRenderInfo = BitmapHelper.CreateRenderInfo(bitmap, colors[0]); powerRenderInfo = BitmapHelper.CreateRenderInfo(bitmap, colors[1]); } else { waveRenderInfo = BitmapHelper.CreateRenderInfo(bitmap, this.Color); } }).ConfigureAwait(false); if (!success) { //No bitmap or failed to establish lock. return; } Render( this.RendererData, waveRenderInfo, powerRenderInfo, this.Rms.Value, WaveBarBehaviourConfiguration.GetMode(this.Mode.Value) ); await Windows.Invoke(() => { bitmap.AddDirtyRect(new Int32Rect(0, 0, bitmap.PixelWidth, bitmap.PixelHeight)); bitmap.Unlock(); }).ConfigureAwait(false); }
protected virtual Task Clear() { return(Windows.Invoke(() => { if (!this.Bitmap.TryLock(LockTimeout)) { return; } BitmapHelper.Clear(BitmapHelper.CreateRenderInfo(this.Bitmap, this.Color)); this.Bitmap.AddDirtyRect(new Int32Rect(0, 0, this.Bitmap.PixelWidth, this.Bitmap.PixelHeight)); this.Bitmap.Unlock(); })); }
protected virtual async Task Render() { const byte SHADE = 30; var bitmap = default(WriteableBitmap); var success = default(bool); var valueRenderInfo = default(BitmapHelper.RenderInfo); var rmsRenderInfo = default(BitmapHelper.RenderInfo); var crestRenderInfo = default(BitmapHelper.RenderInfo); await Windows.Invoke(() => { bitmap = this.Bitmap; success = bitmap.TryLock(LockTimeout); if (!success) { return; } if (this.ShowRms.Value) { var colors = this.Color.ToPair(SHADE); valueRenderInfo = BitmapHelper.CreateRenderInfo(bitmap, colors[0]); rmsRenderInfo = BitmapHelper.CreateRenderInfo(bitmap, colors[1]); if (this.ShowCrestFactor.Value) { crestRenderInfo = BitmapHelper.CreateRenderInfo(bitmap, Colors.Red); } } else { valueRenderInfo = BitmapHelper.CreateRenderInfo(bitmap, this.Color); } }).ConfigureAwait(false); if (!success) { //Failed to establish lock. this.Start(); return; } Render(valueRenderInfo, rmsRenderInfo, crestRenderInfo, this.RendererData); await Windows.Invoke(() => { bitmap.AddDirtyRect(new Int32Rect(0, 0, bitmap.PixelWidth, bitmap.PixelHeight)); bitmap.Unlock(); }).ConfigureAwait(false); this.Start(); }