예제 #1
0
        public IList<Shape> Execute(StyleOption option, EffectsDesigner designer, ImageItem source,
            Shape imageShape)
        {
            designer.ApplyPseudoTextWhenNoTextShapes();

            if ((option.IsUseBannerStyle 
                || option.IsUseFrostedGlassBannerStyle)
                    && (option.GetTextBoxPosition() == Position.Left
                        || option.GetTextBoxPosition() == Position.Centre
                        || option.GetTextBoxPosition() == Position.Right))
            {
                designer.ApplyTextWrapping();
            }
            else if (option.IsUseCircleStyle
                     || option.IsUseOutlineStyle)
            {
                designer.ApplyTextWrapping();
            }
            else
            {
                designer.RecoverTextWrapping();
            }

            ApplyTextEffect(option, designer);
            designer.ApplyTextGlowEffect(option.IsUseTextGlow, option.TextGlowColor);

            return new List<Shape>();
        }
        public IList<Shape> Execute(StyleOption option, EffectsDesigner designer, ImageItem source, Shape imageShape, Settings settings)
        {
            if (option.StyleName != TextCollection.PictureSlidesLabText.StyleNameDirectText
                && option.StyleName != TextCollection.PictureSlidesLabText.StyleNameBlur
                && option.StyleName != TextCollection.PictureSlidesLabText.StyleNameSpecialEffect
                && option.StyleName != TextCollection.PictureSlidesLabText.StyleNameOverlay)
            {
                designer.ApplyPseudoTextWhenNoTextShapes();
            }

            if ((option.IsUseBannerStyle 
                || option.IsUseFrostedGlassBannerStyle)
                    && (option.GetTextBoxPosition() == Position.Left
                        || (option.GetTextBoxPosition() == Position.Centre 
                            && option.GetBannerDirection() != BannerDirection.Horizontal)
                        || option.GetTextBoxPosition() == Position.Right))
            {
                designer.ApplyTextWrapping();
            }
            else if (option.IsUseCircleStyle
                     || option.IsUseOutlineStyle)
            {
                designer.ApplyTextWrapping();
            }
            else
            {
                designer.RecoverTextWrapping(option.GetTextBoxPosition(), option.GetTextAlignment());
            }

            ApplyTextEffect(option, designer);
            designer.ApplyTextGlowEffect(option.IsUseTextGlow, option.TextGlowColor);

            return new List<Shape>();
        }
예제 #3
0
        public IList <Shape> Execute(StyleOption option, EffectsDesigner designer, ImageItem source, Shape imageShape, Settings settings)
        {
            if (option.StyleName != PictureSlidesLabText.StyleNameDirectText &&
                option.StyleName != PictureSlidesLabText.StyleNameBlur &&
                option.StyleName != PictureSlidesLabText.StyleNameSpecialEffect &&
                option.StyleName != PictureSlidesLabText.StyleNameOverlay)
            {
                designer.ApplyPseudoTextWhenNoTextShapes();
            }

            if ((option.IsUseBannerStyle ||
                 option.IsUseFrostedGlassBannerStyle) &&
                (option.GetTextBoxPosition() == Position.Left ||
                 (option.GetTextBoxPosition() == Position.Centre &&
                  option.GetBannerDirection() != BannerDirection.Horizontal) ||
                 option.GetTextBoxPosition() == Position.Right))
            {
                designer.ApplyTextWrapping();
            }
            else if (option.IsUseCircleStyle ||
                     option.IsUseOutlineStyle)
            {
                designer.ApplyTextWrapping();
            }
            else
            {
                designer.RecoverTextWrapping(option.GetTextBoxPosition(), option.GetTextAlignment());
            }

            ApplyTextEffect(option, designer);
            designer.ApplyTextGlowEffect(option.IsUseTextGlow, option.TextGlowColor);

            return(new List <Shape>());
        }
예제 #4
0
        public void TestTextPositionAndAlignment()
        {
            _designer.ApplyTextPositionAndAlignment(Position.Left, Alignment.Auto);
            var tbInfo = new TextBoxes(
                _contentSlide.Shapes.Range(),
                Pres.PageSetup.SlideWidth,
                Pres.PageSetup.SlideHeight)
                         .GetTextBoxesInfo();

            Assert.IsTrue(SlideUtil.IsRoughlySame(25f, tbInfo.Left));
            Assert.IsTrue(SlideUtil.IsRoughlySame(177.52f, tbInfo.Top));
            Assert.IsTrue(SlideUtil.IsRoughlySame(640.76f, tbInfo.Width));
            Assert.IsTrue(SlideUtil.IsRoughlySame(184.96f, tbInfo.Height));

            _designer.ApplyTextWrapping();
            tbInfo = new TextBoxes(
                _contentSlide.Shapes.Range(),
                Pres.PageSetup.SlideWidth,
                Pres.PageSetup.SlideHeight)
                     .GetTextBoxesInfo();
            Assert.IsTrue(SlideUtil.IsRoughlySame(25f, tbInfo.Left));
            Assert.IsTrue(SlideUtil.IsRoughlySame(119.2f, tbInfo.Top));
            Assert.IsTrue(SlideUtil.IsRoughlySame(418.505035f, tbInfo.Width));
            Assert.IsTrue(SlideUtil.IsRoughlySame(243.279984f, tbInfo.Height));
        }
예제 #5
0
        public void TestTextPositionAndAlignment()
        {
            _designer.ApplyTextPositionAndAlignment(Position.Left, Alignment.Auto);
            var tbInfo = new TextBoxes(
                _contentSlide.Shapes.Range(),
                Pres.PageSetup.SlideWidth,
                Pres.PageSetup.SlideHeight)
                         .GetTextBoxesInfo();

            Assert.IsTrue(SlideUtil.IsRoughlySame(25f, tbInfo.Left));
            Assert.IsTrue(SlideUtil.IsRoughlySame(159.559921f, tbInfo.Top));
            Assert.IsTrue(SlideUtil.IsRoughlySame(640.76f, tbInfo.Width));
            Assert.IsTrue(SlideUtil.IsRoughlySame(220.880081f, tbInfo.Height));

            _designer.ApplyTextWrapping();
            tbInfo = new TextBoxes(
                _contentSlide.Shapes.Range(),
                Pres.PageSetup.SlideWidth,
                Pres.PageSetup.SlideHeight)
                     .GetTextBoxesInfo();
            Assert.IsTrue(SlideUtil.IsRoughlySame(25f, tbInfo.Left));
            Assert.IsTrue(SlideUtil.IsRoughlySame(101.239922f, tbInfo.Top));
            Assert.IsTrue(SlideUtil.IsRoughlySame(418.505035f, tbInfo.Width));
            Assert.IsTrue(SlideUtil.IsRoughlySame(279.200073f, tbInfo.Height));
        }