Пример #1
0
        private TextBlock GetRenderedCueTextBlock(WebVTTCue cue, WebVTTAlignment alignment, Brush brush, TextPosition textPosition, Transform transform = null)
        {
            var content = cue.Content;

            var result = new TextBlock
            {
                TextWrapping    = TextWrapping.Wrap,
                RenderTransform = transform,
                Foreground      = brush
            };

            switch (alignment)
            {
            case WebVTTAlignment.Middle:
                result.TextAlignment = TextAlignment.Center;
                break;

            case WebVTTAlignment.Left:
                result.TextAlignment = TextAlignment.Left;
                break;

            case WebVTTAlignment.Right:
                result.TextAlignment = TextAlignment.Right;
                break;

            case WebVTTAlignment.Start:
                result.TextAlignment = TextAlignment.Left;
                break;

            case WebVTTAlignment.End:
                result.TextAlignment = TextAlignment.Right;
                break;
            }

            CreateInlines(cue, content, result.Inlines, brush);

            // If a Text Rendering event handler has been added, call it.
            if (this.TextRendering != null)
            {
                this.TextRendering(this, new CaptionTextEventArgs(result, textPosition));
            }

            return(result);
        }
Пример #2
0
        static PanelContentAlignment GetPanelAlignment(WebVTTAlignment alignment)
        {
            switch (alignment)
            {
            case WebVTTAlignment.End:
                return(PanelContentAlignment.End);

            case WebVTTAlignment.Left:
                return(PanelContentAlignment.Left);

            case WebVTTAlignment.Middle:
                return(PanelContentAlignment.Middle);

            case WebVTTAlignment.Right:
                return(PanelContentAlignment.Right);

            default:     // case WebVTTAlignment.Start:
                return(PanelContentAlignment.Start);
            }
        }
        private TextBlock GetRenderedCueTextBlock(WebVTTCue cue, WebVTTAlignment alignment, Brush brush, TextPosition textPosition, Transform transform = null)
        {
            var content = cue.Content;
            
            var result = new TextBlock
            {
                TextWrapping = TextWrapping.Wrap,
                RenderTransform = transform,
                Foreground = brush
            };

            switch (alignment)
            {
                case WebVTTAlignment.Middle:
                    result.TextAlignment = TextAlignment.Center;
                    break;
                case WebVTTAlignment.Left:
                    result.TextAlignment = TextAlignment.Left;
                    break;
                case WebVTTAlignment.Right:
                    result.TextAlignment = TextAlignment.Right;
                    break;
                case WebVTTAlignment.Start:
                    result.TextAlignment = TextAlignment.Left;
                    break;
                case WebVTTAlignment.End:
                    result.TextAlignment = TextAlignment.Right;
                    break;
            }

            CreateInlines(cue, content, result.Inlines, brush);

            // If a Text Rendering event handler has been added, call it.
            if (this.TextRendering != null)
            {
                this.TextRendering(this, new CaptionTextEventArgs(result, textPosition));
            }

            return result;
        }
 static PanelContentAlignment GetPanelAlignment(WebVTTAlignment alignment)
 {
     switch (alignment)
     {
         case WebVTTAlignment.End:
             return PanelContentAlignment.End;
         case WebVTTAlignment.Left:
             return PanelContentAlignment.Left;
         case WebVTTAlignment.Middle:
             return PanelContentAlignment.Middle;
         case WebVTTAlignment.Right:
             return PanelContentAlignment.Right;
         default: // case WebVTTAlignment.Start:
             return PanelContentAlignment.Start;
     }
 }