static FilenameResolver() { //if (System.Web.HttpContext.Current != null) // resolver = new WebFilenameResolver(); //else resolver = new BasicFilenameResolver(); }
/// <summary> /// Initializes a new instance of the <see cref="Paint.PictureStateManager"/> class. /// <param name='filenameResolver' Determines the filename for all files saved/loaded /> /// <param name='pictureIOManager' Handles the saving of the imageStateData /> /// <param name='renderTargetHandler' Handles the rendering of the appropriate render target when undo/redoing a change /> /// <param name='imageStateData' Current save point, max undo/redo count etc /> /// </summary> public PictureStateManager(IFilenameResolver filenameResolver, IPictureIOManager pictureIOManager, IRenderTargertHandler renderTargetHandler, ImageStateData imageStateData) { this.canvasRecorder = new CanvasRecorder(); this.renderTargetHandler = renderTargetHandler; this.filenameResolver = filenameResolver; this.pictureIOManager = pictureIOManager; this.ImageStateData = imageStateData; }
/// <summary> /// Initializes a new instance of the <see cref="Paint.PaintApp"/> class. /// Instantiate our GraphicsDeviceManager and establish where the content folder is /// </summary> /// <param name='pictureIOManager'>Picture IO Manager</param> /// <param name='filenameResolver'>Filename Resolver</param> /// <param name='imageStateData'>ImageSaveData</param> /// <param name='saveBusyMessageDisplay'>Class for dsplaying the 'Busy - saving' message</param> /// <param name='toolboxLayoutDefinition'>Layout of the toolbox</param> /// <param name='deviceScale'>The device scale/resolution. 1 = normal. 2 = retina.</param> public PaintApp( IPictureIOManager pictureIOManager, IFilenameResolver filenameResolver, ImageStateData imageStateData, IUIBusyMessage saveBusyMessageDisplay, ToolboxLayoutDefinition toolboxLayoutDefinition, int deviceScale) : base(imageStateData, toolboxLayoutDefinition, deviceScale) { this.filenameResolver = filenameResolver; this.pictureIOManager = pictureIOManager; this.saveBusyMessageDisplay = saveBusyMessageDisplay; }
/// <summary> /// Copies the image (and all associated data files) to the specified image name /// </summary> /// <param name='destinationImageFilenameResolver'> /// Details of where we need to copy the files. /// </param> public void CopyImage(IFilenameResolver destinationImageFilenameResolver) { if (!Directory.Exists(destinationImageFilenameResolver.DataFolder)) { Directory.CreateDirectory(destinationImageFilenameResolver.DataFolder); } File.Copy(this.filenameResolver.MasterImageInfoFilename, destinationImageFilenameResolver.MasterImageInfoFilename); File.Copy(this.filenameResolver.MasterImageFilename, destinationImageFilenameResolver.MasterImageFilename); var imageStateData = this.LoadImageStateData(); int end = imageStateData.FirstSavePoint == 0 ? imageStateData.LastSavePoint : imageStateData.MaxUndoRedoCount - 1; for (int count = 0; count <= end; count++) { File.Copy(this.filenameResolver.ImageSavePointFilename(count), destinationImageFilenameResolver.ImageSavePointFilename(count)); File.Copy(this.filenameResolver.MasterCanvasRecorderFilename(count), destinationImageFilenameResolver.MasterCanvasRecorderFilename(count)); } }
/// <summary> /// Initializes a new instance of the <see cref="Paint.PictureIOManager"/> class. /// </summary> /// <param name='filenameResolver'>Filename resolver.</param> public PictureIOManager(IFilenameResolver filenameResolver) { this.filenameResolver = filenameResolver; }