Exemplo n.º 1
0
 public CharItem(Workspace_Model ws, ITextToPathService service)
 {
     // Use propery to init value here:
     if (IsInDesignMode)
     {
         //Add design time demo data init here. These will not execute in runtime.
     }
     else
     {
         WireEvents(ws, service);
     }
 }
Exemplo n.º 2
0
        public void WireEvents(Workspace_Model ws, ITextToPathService service)
        {
            ws.GetValueContainer(x => x.FontSize)
            .GetNullObservable()
            .Merge(
                Observable.Range(0, 1).Select(i => (object)null)

                )
            .Subscribe
            (
                e => FontSize = ws.FontSize
            )
            .DisposeWith(ws);



            ws.GetValueContainer(x => x.SelectedFont)
            .GetNullObservable()
            .Merge(
                Observable.Range(0, 1).Select(i => (object)null)

                )
            .Subscribe
            (
                e => TextfaceString = ws.SelectedFont
            )
            .DisposeWith(ws);

            GetValueContainer(x => x.FontSize)
            .GetNullObservable()
            .Merge(
                GetValueContainer(x => x.DisplayLocationX)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.DisplayLocationY)
                .GetNullObservable()
                )
            .Merge(
                Observable.Range(0, 1).Select(i => (object)null)

                )
            .Subscribe
            (
                _ =>
            {
                LocationXPixel = FontSize * DisplayLocationX;
                LocationYPixel = FontSize * DisplayLocationY;
            }
            ).DisposeWith(ws);



            GetValueContainer(x => x.FontSize)
            .GetNullObservable()
            .Merge(
                GetValueContainer(x => x.DisplayZoomX)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.DisplayZoomY)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.DisplayLocationX)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.DisplayLocationY)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.MaskRetanglePercentLeft)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.MaskRetanglePercentRight)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.MaskRetanglePercentTop)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.MaskRetanglePercentBottom)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.TextfaceString)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.CharToDisplay)
                .GetNullObservable()
                )
            .Merge(
                GetValueContainer(x => x.DisplayLocationY)
                .GetNullObservable()
                )
            .Subscribe
            (
                e =>
            {
                var masks = new Thickness
                            (
                    FontSize * MaskRetanglePercentLeft,
                    FontSize * MaskRetanglePercentTop,
                    FontSize * MaskRetanglePercentRight,
                    FontSize * MaskRetanglePercentBottom

                            );

                PathData = service.Text2Path(this.CharToDisplay.ToString(), "", true, TextfaceString, (int)FontSize, masks);
            }


            ).DisposeWith(ws);
        }