public BaseKn5FormWrapper(BaseRenderer renderer, string title, int width, int height) : base(renderer, title, width, height) { Kn5ObjectRenderer = (IKn5ObjectRenderer)renderer; Form.MouseMove += OnMouseMove; Form.MouseDown += OnMouseDown; Form.MouseUp += OnMouseUp; Form.MouseWheel += OnMouseWheel; }
public BaseFormWrapper(BaseRenderer renderer, string title, int width, int height) { _title = title; Form = new RenderForm(title) { Width = width, Height = height, StartPosition = FormStartPosition.CenterScreen }; Renderer = renderer; Renderer.Initialize(Form.Handle); Renderer.Width = Form.ClientSize.Width; Renderer.Height = Form.ClientSize.Height; Form.UserResized += OnResize; Form.KeyDown += OnKeyDown; Form.KeyUp += OnKeyUp; Form.GotFocus += OnGotFocus; Form.LostFocus += OnLostFocus; renderer.Tick += OnTick; }
private static LoadedImage LoadImageUsingDirectX(BaseRenderer renderer, byte[] imageData) { if (imageData == null || imageData.Length == 0) return null; try { Format format; var pngData = TextureReader.ToPng(renderer.DeviceContextHolder, imageData, true, out format); var image = new BitmapImage(); using (var stream = new MemoryStream(pngData) { Position = 0 }) { image.BeginInit(); image.CreateOptions = BitmapCreateOptions.PreservePixelFormat; image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = null; image.StreamSource = stream; image.EndInit(); } image.Freeze(); return new LoadedImage { Image = image, FormatDescription = format.ToString() }; } catch (Exception e) { Logging.Warning(e); return null; } }
public CarTextureDialogViewModel([CanBeNull] BaseRenderer renderer, [CanBeNull] CarSkinObject activeSkin, [NotNull] Kn5 kn5, [NotNull] string textureName) { _renderer = renderer; _activeSkin = activeSkin; _kn5 = kn5; TextureName = textureName; var format = Regex.Match(textureName, @"(?<=\.)([a-zA-Z]{3,4})$").Value; TextureFormat = string.IsNullOrWhiteSpace(format) ? null : format.ToUpperInvariant(); byte[] data; Data = kn5.TexturesData.TryGetValue(textureName, out data) ? data : null; }