Example #1
0
        public WebcamOverlayReactor(WebcamOverlaySettings Settings)
        {
            Margin = Settings
                     .ObserveProperty(M => M.X)
                     .CombineLatest(
                Settings
                .ObserveProperty(M => M.Y),
                FrameSize,
                (X, Y, FrameSize) =>
            {
                var pos = Settings.GetPosition((float)FrameSize.Width, (float)FrameSize.Height);

                return(new Thickness(pos.X, pos.Y, 0, 0));
            })
                     .ToReadOnlyReactivePropertySlim();

            Width = Settings
                    .ObserveProperty(M => M.Width)
                    .CombineLatest(FrameSize, (Width, FrameSize) => Settings.GetWidth((float)FrameSize.Width))
                    .ToReadOnlyReactivePropertySlim();

            Height = Settings
                     .ObserveProperty(M => M.Height)
                     .CombineLatest(FrameSize, (Height, FrameSize) => Settings.GetHeight((float)FrameSize.Height))
                     .ToReadOnlyReactivePropertySlim();

            Opacity = Settings
                      .ObserveProperty(M => M.Opacity)
                      .Select(M => M / 100.0)
                      .ToReadOnlyReactivePropertySlim();
        }
Example #2
0
        public WebcamOverlay(WebcamModel WebcamModel, Settings Settings) : base(true)
        {
            _webcamModel = WebcamModel;
            _settings    = Settings.WebcamOverlay;

            _webcamCapture = WebcamModel.InitCapture();
        }
Example #3
0
        public WebcamOverlayReactor(WebcamOverlaySettings Settings)
        {
            Location = Settings.ObserveProperty(M => M.XLoc)
                       .CombineLatest(
                Settings.ObserveProperty(M => M.YLoc),
                FrameSize,
                WebcamSize,
                Settings.ObserveProperty(M => M.Scale),
                (X, Y, FrameSize, WebcamSize, Scale) => Settings.GetPosition(FrameSize.ToDrawingSize(), WebcamSize.ToDrawingSize()))
                       .ToReadOnlyReactivePropertySlim();

            Size = Settings.ObserveProperty(M => M.Scale)
                   .CombineLatest(
                FrameSize,
                WebcamSize,
                (Scale, FrameSize, WebcamSize) => Settings.GetSize(FrameSize.ToDrawingSize(), WebcamSize.ToDrawingSize()).ToWpfSize())
                   .ToReadOnlyReactivePropertySlim();

            Opacity = Settings
                      .ObserveProperty(M => M.Opacity)
                      .Select(M => M / 100.0)
                      .ToReadOnlyReactivePropertySlim();
        }
Example #4
0
 public WebcamOverlay(WebcamModel WebcamModel, Settings Settings) : base(true)
 {
     _webcamModel = WebcamModel;
     _settings    = Settings.WebcamOverlay;
 }