/* ----------------------------------------------------------------- */
 ///
 /// CreateDocumentConverter
 ///
 /// <summary>
 /// DocumentConverter オブジェクトを生成します。
 /// </summary>
 ///
 /* ----------------------------------------------------------------- */
 private static Ghostscript.Converter CreateDocumentConverter(SettingsFolder src) =>
 new DocumentConverter(src.Value.Format, src.IO)
 {
     ColorMode    = src.Value.Grayscale ? ColorMode.Grayscale : ColorMode.Rgb,
     Compression  = src.Value.ImageCompression ? Encoding.Jpeg : Encoding.Flate,
     Downsampling = src.Value.Downsampling,
     EmbedFonts   = src.Value.EmbedFonts,
     Version      = src.Value.FormatOption.GetVersion(),
 };
Exemple #2
0
        /* ----------------------------------------------------------------- */
        ///
        /// MainViewModel
        ///
        /// <summary>
        /// オブジェクトを初期化します。
        /// </summary>
        ///
        /// <param name="settings">設定情報</param>
        /// <param name="context">同期用コンテキスト</param>
        ///
        /* ----------------------------------------------------------------- */
        public MainViewModel(SettingsFolder settings, SynchronizationContext context) :
            base(new Messenger(), context)
        {
            Model      = new MainFacade(settings);
            Settings   = new SettingsViewModel(settings.Value, Messenger, Context);
            Metadata   = new MetadataViewModel(settings.Value.Metadata, Messenger, Context);
            Encryption = new EncryptionViewModel(settings.Value.Encryption, Messenger, Context);

            settings.PropertyChanged += WhenPropertyChanged;
        }
        /* ----------------------------------------------------------------- */
        ///
        /// CreateImageConverter
        ///
        /// <summary>
        /// ImageConverter オブジェクトを生成します。
        /// </summary>
        ///
        /* ----------------------------------------------------------------- */
        private static Ghostscript.Converter CreateImageConverter(SettingsFolder src)
        {
            var key = KeyValuePair.Create(src.Value.Format, src.Value.Grayscale);
            var map = GetFormatMap();

            Debug.Assert(map.ContainsKey(key));

            return(new ImageConverter(GetFormatMap()[key], src.IO)
            {
                AntiAlias = true,
            });
        }
        /* ----------------------------------------------------------------- */
        ///
        /// Create
        ///
        /// <summary>
        /// Ghostscript.Converter オブジェクトを生成します。
        /// </summary>
        ///
        /// <param name="src">設定情報</param>
        ///
        /// <returns>Ghostscript.Converter オブジェクト</returns>
        ///
        /* ----------------------------------------------------------------- */
        public static Ghostscript.Converter Create(SettingsFolder src)
        {
            var asm  = Assembly.GetExecutingAssembly();
            var dir  = src.IO.Get(asm.Location).DirectoryName;
            var dest = DocumentConverter.SupportedFormats.Contains(src.Value.Format) ?
                       CreateDocumentConverter(src) :
                       CreateImageConverter(src);

            dest.Quiet         = false;
            dest.WorkDirectory = src.WorkDirectory;
            dest.Log           = src.IO.Combine(src.WorkDirectory, "console.log");
            dest.Resolution    = src.Value.Resolution;
            dest.Orientation   = src.Value.Orientation;
            dest.Resources.Add(src.IO.Combine(dir, "lib"));

            return(dest);
        }
Exemple #5
0
 /* ----------------------------------------------------------------- */
 ///
 /// MainViewModel
 ///
 /// <summary>
 /// オブジェクトを初期化します。
 /// </summary>
 ///
 /// <param name="settings">設定情報</param>
 ///
 /* ----------------------------------------------------------------- */
 public MainViewModel(SettingsFolder settings) :
     this(settings, SynchronizationContext.Current)
 {
 }
Exemple #6
0
 /* ----------------------------------------------------------------- */
 ///
 /// ProcessLauncher
 ///
 /// <summary>
 /// オブジェクトを初期化します。
 /// </summary>
 ///
 /// <param name="settings">設定情報</param>
 ///
 /* ----------------------------------------------------------------- */
 public ProcessLauncher(SettingsFolder settings)
 {
     IO    = settings.IO;
     Value = settings.Value;
 }
Exemple #7
0
 /* ----------------------------------------------------------------- */
 ///
 /// FileDecorator
 ///
 /// <summary>
 /// オブジェクトを初期化します。
 /// </summary>
 ///
 /// <param name="settings">設定情報</param>
 ///
 /* ----------------------------------------------------------------- */
 public FileDecorator(SettingsFolder settings)
 {
     Settings = settings;
 }
Exemple #8
0
 /* ----------------------------------------------------------------- */
 ///
 /// MainFacade
 ///
 /// <summary>
 /// オブジェクトを初期化します。
 /// </summary>
 ///
 /// <param name="settings">設定情報</param>
 ///
 /* ----------------------------------------------------------------- */
 public MainFacade(SettingsFolder settings)
 {
     Settings = settings;
     Locale.Set(settings.Value.Language);
 }