public static Mock <IPopupImpl> CreatePopupMock(IWindowBaseImpl parent)
        {
            var popupImpl  = new Mock <IPopupImpl>();
            var clientSize = new Size();

            var positionerHelper = new ManagedPopupPositionerPopupImplHelper(parent, (pos, size, scale) =>
            {
                clientSize = size.Constrain(s_screenSize);
                popupImpl.Object.PositionChanged?.Invoke(pos);
                popupImpl.Object.Resized?.Invoke(clientSize, PlatformResizeReason.Unspecified);
            });

            var positioner = new ManagedPopupPositioner(positionerHelper);

            popupImpl.SetupAllProperties();
            popupImpl.Setup(x => x.ClientSize).Returns(() => clientSize);
            popupImpl.Setup(x => x.MaxAutoSizeHint).Returns(s_screenSize);
            popupImpl.Setup(x => x.RenderScaling).Returns(1);
            popupImpl.Setup(x => x.PopupPositioner).Returns(positioner);

            popupImpl.Setup(x => x.Dispose()).Callback(() =>
            {
                popupImpl.Object.Closed?.Invoke();
            });

            return(popupImpl);
        }
예제 #2
0
        public static Mock <IPopupImpl> CreatePopupMock(IWindowBaseImpl parent)
        {
            var popupImpl = new Mock <IPopupImpl>();

            var positionerHelper = new ManagedPopupPositionerPopupImplHelper(parent, (pos, size, scale) =>
            {
                popupImpl.Object.PositionChanged?.Invoke(pos);
                popupImpl.Object.Resized?.Invoke(size);
            });

            var positioner = new ManagedPopupPositioner(positionerHelper);

            popupImpl.Setup(x => x.Scaling).Returns(1);
            popupImpl.Setup(x => x.PopupPositioner).Returns(positioner);

            SetupToplevel(popupImpl);

            return(popupImpl);
        }
예제 #3
0
        public static Mock <IPopupImpl> CreatePopupMock(IWindowBaseImpl parent)
        {
            var popupImpl  = new Mock <IPopupImpl>();
            var clientSize = new Size();

            var positionerHelper = new ManagedPopupPositionerPopupImplHelper(parent, (pos, size, scale) =>
            {
                clientSize = size.Constrain(s_screenSize);
                popupImpl.Object.PositionChanged?.Invoke(pos);
                popupImpl.Object.Resized?.Invoke(clientSize);
            });

            var positioner = new ManagedPopupPositioner(positionerHelper);

            popupImpl.SetupAllProperties();
            popupImpl.Setup(x => x.ClientSize).Returns(() => clientSize);
            popupImpl.Setup(x => x.Scaling).Returns(1);
            popupImpl.Setup(x => x.PopupPositioner).Returns(positioner);

            SetupToplevel(popupImpl);

            return(popupImpl);
        }