Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using GalaSoft.MvvmLight;
- using GalaSoft.MvvmLight.CommandWpf;
- using Unwrapper.Elements;
- using Unwrapper.PreviewScreen;
- using Unwrapper.View;
- namespace Unwrapper.ViewModel
- {
- public class PreviewScreenViewModel : ViewModelBase
- {
- private double _renderSize=double.NaN;
- public double RenderSize
- {
- get { return _renderSize; }
- set
- {
- _renderSize = value;
- RaisePropertyChanged(() => RenderSize);
- }
- }
- public RelayCommand ChangeRenderSizeCommand { get; set; }
- public RelayCommand RenderCommand { get; set; }
- public RelayCommand ResetRenderSizeCommand { get; set; }
- public RelayCommand OpenTextureCommand { get; set; }
- public RelayCommand<CancelEventArgs> ClosingCommand { get; set; }
- public PreviewScreenViewModel()
- {
- ChangeRenderSizeCommand=new RelayCommand(ChangeRenderSize);
- RenderCommand=new RelayCommand(Render);
- ResetRenderSizeCommand=new RelayCommand(ResetRenderSize);
- OpenTextureCommand= new RelayCommand(LoadTexture);
- ClosingCommand=new RelayCommand<CancelEventArgs>(Window_Closing);
- }
- public DX10Viewport TheViewport { get; set; }
- public void LoadModel(List<PolygonUW> polygons)
- {
- if (TheViewport == null) return;
- TheViewport.LoadModel(polygons);
- }
- private void ChangeRenderSize()
- {
- var window=new ChangeSizeWindow();
- var locator = window.DataContext as ViewModelLocator;
- if (locator != null) locator.ChangeSizeScreen.ParentWindow = this;
- window.ShowDialog();
- }
- private void Render()
- {
- if (TheViewport == null) return;
- // Configure save file dialog box
- Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
- dlg.DefaultExt = ".dds"; // Default file extension
- dlg.Filter = "(dds)|*.dds"; // Filter files by extension
- // Show save file dialog box
- Nullable<bool> result = dlg.ShowDialog();
- // Process save file dialog box results
- if (result == true)
- {
- // Save document
- string filename = dlg.FileName;
- TheViewport.RenderToImage(filename);
- }
- }
- private void ResetRenderSize()
- {
- RenderSize = double.NaN;
- }
- private void Window_Closing(CancelEventArgs e)
- {
- e.Cancel = true;
- }
- private void LoadTexture()
- {
- if (TheViewport == null) return;
- // Configure open file dialog box
- Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
- dlg.DefaultExt = ".png"; // Default file extension
- dlg.Filter = "(png)|*.png|(jpeg)|*.jpg|(tga)|*.tga|(dds)|*.dds"; // Filter files by extension
- // Show save file dialog box
- Nullable<bool> result = dlg.ShowDialog();
- // Process save file dialog box results
- if (result == true)
- {
- // Save document
- string filename = dlg.FileName;
- TheViewport.LoadImage(filename);
- }
- }
- public void ChangeSizeRenderer(double size)
- {
- RenderSize = size;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment