Exemplo n.º 1
0
        public Library(
            [NotNull] IConfigStore configStore,
            [NotNull] IPreviewBuilder builder,
            [NotNull] IPreviewImageStore previewStore,
            [NotNull] IMessageRelay relay)
        {
            _previewBuilder = builder ?? throw new ArgumentNullException(nameof(builder));
            _configStore    = configStore ?? throw new ArgumentNullException(nameof(configStore));
            _previewStore   = previewStore ?? throw new ArgumentNullException(nameof(previewStore));
            _relay          = relay ?? throw new ArgumentNullException(nameof(relay));

            _previewModels = new ItemPreviewModelSet(_previewStore, relay);
        }
Exemplo n.º 2
0
        public ItemPreviewModel(
            [NotNull] IPreviewImageStore previewImageStore,
            [NotNull] IMessageRelay relay,
            [NotNull] PreviewInfo previewInfo)
        {
            _previewImageStore = previewImageStore ?? throw new ArgumentNullException(nameof(previewImageStore));
            if (previewInfo is null)
            {
                throw new ArgumentNullException(nameof(previewInfo));
            }
            if (relay is null)
            {
                throw new ArgumentNullException(nameof(relay));
            }

            Name     = previewInfo.ItemName;
            FileHash = previewInfo.FileHash;
            FileSize = previewInfo.FileSize;

            GeometryInfo.Value = new GeometryInfo
            {
                Rotation      = previewInfo.Rotation ?? Vector3.zero,
                Scale         = previewInfo.Scale ?? Vector3.one,
                Size          = previewInfo.Size,
                Volume        = previewInfo.Volume,
                TriangleCount = previewInfo.VertexCount / 3,
                VertexCount   = previewInfo.VertexCount
            };

            Tags.AddRange(previewInfo.Tags);
            Sources           = previewInfo.Sources?.ToList() ?? new List <ImportedFileInfo>();
            PreviewResolution = previewInfo.Resolution;

            Selected.ValueChanged += value => relay.Send(this, new SelectionChangedMessage {
                Sender = this
            });
        }
Exemplo n.º 3
0
 public ItemPreviewModelSet([NotNull] IPreviewImageStore previewImageStore, [NotNull] IMessageRelay relay)
 {
     _store = previewImageStore ?? throw new ArgumentNullException(nameof(previewImageStore));
     _relay = relay ?? throw new ArgumentNullException(nameof(relay));
 }