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>();
        }
 private void ApplyTextEffect(StyleOption option, EffectsDesigner effectsDesigner)
 {
     if (option.IsUseTextFormat)
     {
         effectsDesigner.ApplyTextEffect(option.GetFontFamily(), option.FontColor, option.FontSizeIncrease);
         effectsDesigner.ApplyTextPositionAndAlignment(option.GetTextBoxPosition(), option.GetTextAlignment());
     }
     else
     {
         effectsDesigner.ApplyOriginalTextEffect();
         effectsDesigner.ApplyTextPositionAndAlignment(Position.Original, Alignment.Auto);
     }
 }
 public IList<Shape> Execute(StyleOption option, EffectsDesigner designer, ImageItem source, Shape imageShape)
 {
     var result = new List<Shape>();
     if (option.IsUseFrostedGlassBannerStyle)
     {
         var blurDegreeForFrostedGlass = EffectsDesigner.BlurDegreeForFrostedGlassEffect;
         var blurImageShape = option.IsUseSpecialEffectStyle
             ? designer.ApplyBlurEffect(source.SpecialEffectImageFile, blurDegreeForFrostedGlass)
             : designer.ApplyBlurEffect(degree: blurDegreeForFrostedGlass);
         var banner = designer.ApplyFrostedGlassBannerEffect(option.GetBannerDirection(), option.GetTextBoxPosition(),
             blurImageShape, option.FrostedGlassBannerColor, option.FrostedGlassBannerTransparency);
         result.Add(banner);
         blurImageShape.Delete();
     }
     return result;
 }
 private void ApplyTextEffect(StyleOption option, EffectsDesigner effectsDesigner)
 {
     effectsDesigner.ApplyTextEffect(option.GetFontFamily(), option.FontColor, option.FontSizeIncrease);
     effectsDesigner.ApplyTextPositionAndAlignment(option.GetTextBoxPosition(), option.GetTextAlignment());
 }
 private Shape ApplyBannerStyle(StyleOption option, EffectsDesigner effectsDesigner, Shape imageShape)
 {
     return effectsDesigner.ApplyRectBannerEffect(option.GetBannerDirection(), option.GetTextBoxPosition(),
                 imageShape, option.BannerColor, option.BannerTransparency);
 }