private void Initialize() { if (_background == null) { byte[] pixelData = new byte[4*_size.Width*_size.Height]; for (int n = 0; n < pixelData.Length; n += 4) { byte[] pixel = BitConverter.GetBytes(Color.FromArgb(196, 85, 85, 85).ToArgb()); pixelData[n + 0] = pixel[0]; pixelData[n + 1] = pixel[1]; pixelData[n + 2] = pixel[2]; pixelData[n + 3] = pixel[3]; } base.Graphics.Add(_background = new ColorImageGraphic(_size.Height, _size.Width, pixelData)); } if (_progressBarGraphic == null) { base.Graphics.Add(_progressBarGraphic = ProgressBarGraphic.Create(_style)); var offset = Center(_size, _progressBarGraphic.Size) + new Size(0, 10); _progressBarGraphic.SpatialTransform.TranslationX = offset.X; _progressBarGraphic.SpatialTransform.TranslationY = offset.Y; } if (_progressTextGraphic == null) { base.Graphics.Add(_progressTextGraphic = new InvariantTextPrimitive()); var offset = Center(_size, new Size(1, 1)) - new Size(0, 15); _progressTextGraphic.SpatialTransform.TranslationX = offset.X; _progressTextGraphic.SpatialTransform.TranslationY = offset.Y; } }
private void OnCloneComplete() { _progressTextGraphic = (ITextGraphic) CollectionUtils.SelectFirst(base.Graphics, g => g is ITextGraphic); _progressBarGraphic = (ProgressBarGraphic) CollectionUtils.SelectFirst(base.Graphics, g => g is ProgressBarGraphic); _background = (ColorImageGraphic) CollectionUtils.SelectFirst(base.Graphics, g => g is ColorImageGraphic); Initialize(); }
private void Initialize() { if (_background == null) { var pixelCount = _size.Width*_size.Height; var pixelData = new byte[4*pixelCount]; var fillColor = Color.FromArgb(196, 85, 85, 85).ToArgb(); unsafe { fixed (byte* pPixelBytes = pixelData) { var pPixels = (int*) pPixelBytes; for (var n = 0; n < pixelCount; ++n) pPixels[n] = fillColor; } } base.Graphics.Add(_background = new ColorImageGraphic(_size.Height, _size.Width, pixelData)); } if (_progressBarGraphic == null) { base.Graphics.Add(_progressBarGraphic = ProgressBarGraphic.Create(_style)); var offset = Center(_size, _progressBarGraphic.Size) + new Size(0, 10); _progressBarGraphic.SpatialTransform.TranslationX = offset.X; _progressBarGraphic.SpatialTransform.TranslationY = offset.Y; } if (_progressTextGraphic == null) { base.Graphics.Add(_progressTextGraphic = new InvariantTextPrimitive()); var offset = Center(_size, new Size(1, 1)) - new Size(0, 15); _progressTextGraphic.SpatialTransform.TranslationX = offset.X; _progressTextGraphic.SpatialTransform.TranslationY = offset.Y; } }