Class SubtitlesStyle.Builder

    • Method Detail

      • foregroundColor

        public SubtitlesStyle.Builder foregroundColor​(int foregroundColor,
                                                      boolean overwrite)
        Set the foreground color as ARGB. Note that this overwrite the current opacity setting.
        Parameters:
        foregroundColor - The color as ARGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasForegroundColor will be set to true
        Returns:
        The builder
      • foregroundColorRGB

        public SubtitlesStyle.Builder foregroundColorRGB​(int foregroundColor,
                                                         boolean overwrite)
        Set the foreground color as RGB
        Parameters:
        foregroundColor - The color as RGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasForegroundColor will be set to true
        Returns:
        The builder
      • backgroundColor

        public SubtitlesStyle.Builder backgroundColor​(int backgroundColor,
                                                      boolean overwrite)
        Set the background color as ARGB. Note that this overwrite the current opacity setting.
        Parameters:
        backgroundColor - The color as ARGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasBackgroundColor will be set to true
        Returns:
        The builder
      • backgroundColorRGB

        public SubtitlesStyle.Builder backgroundColorRGB​(int backgroundColor,
                                                         boolean overwrite)
        Set the background color as RGB.
        Parameters:
        backgroundColor - The color as RGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasBackgroundColor will be set to true
        Returns:
        The builder
      • windowColor

        public SubtitlesStyle.Builder windowColor​(int windowColor,
                                                  boolean overwrite)
        Set the window color as ARGB. Note that this overwrite the current opacity setting.
        Parameters:
        windowColor - The color as ARGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasWindowColor will be set to true
        Returns:
        The builder
      • windowColorRGB

        public SubtitlesStyle.Builder windowColorRGB​(int windowColor,
                                                     boolean overwrite)
        Set the window color as RGB.
        Parameters:
        windowColor - The color as RGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasWindowColor will be set to true
        Returns:
        The builder
      • edgeColor

        public SubtitlesStyle.Builder edgeColor​(int edgeColor,
                                                boolean overwrite)
        Set the edge color as ARGB. Note that this overwrite the current opacity setting.
        Parameters:
        edgeColor - The color as ARGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasEdgeColor will be set to true
        Returns:
        The builder
      • edgeThickness

        public SubtitlesStyle.Builder edgeThickness​(int edgeThickness,
                                                    boolean overwrite)
        Set the edge thickness in pixels.
        Parameters:
        edgeThickness - The edge thickness in pixels
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasEdgeThickness will be set to true
        Returns:
        The builder
      • edgeBlurRadius

        public SubtitlesStyle.Builder edgeBlurRadius​(int edgeBlurRadius,
                                                     boolean overwrite)
        Set the edge blur radius in pixels.
        Parameters:
        edgeBlurRadius - The edge blur radius in pixels
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasEdgeBlurRadius will be set to true
        Returns:
        The builder
      • regionColor

        public SubtitlesStyle.Builder regionColor​(int regionColor,
                                                  boolean overwrite)
        Set the region color as ARGB. Note that this overwrite the current opacity setting.
        Parameters:
        regionColor - The color as ARGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasRegionColor will be set to true
        Returns:
        The builder
      • regionOpacity

        public SubtitlesStyle.Builder regionOpacity​(float opacity)
        Set the opacity of the region color. The values needs to be 0 <= value <= 1.0.
        Parameters:
        opacity - The opacity as 0 <= value <= 1.0
        Returns:
        The builder
      • bottomMargin

        public SubtitlesStyle.Builder bottomMargin​(int bottomMarginPx)
        Set the bottom margin in pixels, default is zero Note: not supported by ExoSubtitlesRendererPlugin
        Parameters:
        bottomMarginPx - The bottom margin in pixels
        Returns:
        The builder
      • topMargin

        public SubtitlesStyle.Builder topMargin​(int topMarginPx)
        Set the top margin in pixels, default is zero Note: not supported by ExoSubtitlesRendererPlugin
        Parameters:
        topMarginPx - The top margin in pixels
        Returns:
        The builder
      • leftMargin

        public SubtitlesStyle.Builder leftMargin​(int leftMarginPx)
        Set the left margin in pixels, default is zero Note: not supported by ExoSubtitlesRendererPlugin
        Parameters:
        leftMarginPx - The left margin in pixels
        Returns:
        The builder
      • rightMargin

        public SubtitlesStyle.Builder rightMargin​(int rightMarginPx)
        Set the right margin in pixels, default is zero Note: not supported by ExoSubtitlesRendererPlugin
        Parameters:
        rightMarginPx - The right margin in pixels
        Returns:
        The builder
      • drawBeyondVideoArea

        public SubtitlesStyle.Builder drawBeyondVideoArea​(boolean drawBeyondVideoArea)
        Enable or disable the drawing beyond video area, default is false Note: not supported by ExoSubtitlesRendererPlugin
        Parameters:
        drawBeyondVideoArea - The draw beyond video area flag
        Returns:
        The builder
      • edgeColorRGB

        public SubtitlesStyle.Builder edgeColorRGB​(int edgeColor,
                                                   boolean overwrite)
        Set the edge color as RGB.
        Parameters:
        edgeColor - The color as RGB
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasEdgeColor will be set to true
        Returns:
        The builder
      • fontScale

        public SubtitlesStyle.Builder fontScale​(float fontScale)
        Set the font scale. The value has to be > 0, otherwise the builder will fall back to the default font scale.
        Parameters:
        fontScale - The font scale
        Returns:
        The builder
      • fontSize

        public SubtitlesStyle.Builder fontSize​(int fontSize,
                                               boolean overwrite)
        Set the font size in pixels
        Parameters:
        fontSize - The fontSize
        overwrite - If true, this is considers a user customization and the SubtitlesStyle.hasFontSize will be set to true
        Returns:
        The builder
      • typeface

        public SubtitlesStyle.Builder typeface​(@Nullable
                                               Typeface typeface)
        Set the typeface. SubtitlesStyle.hasTypeface will be set to true if the given typeface is not equal to the default type face. If null is passed, the typeface will be set to the default typeface.
        Parameters:
        typeface - The typeface
        Returns:
        The builder
      • foregroundOpacity

        public SubtitlesStyle.Builder foregroundOpacity​(float opacity)
        Set the opacity of the foreground color. The values needs to be 0 <= value <= 1.0.
        Parameters:
        opacity - The opacity as 0 <= value <= 1.0
        Returns:
        The builder
      • backgroundOpacity

        public SubtitlesStyle.Builder backgroundOpacity​(float opacity)
        Set the opacity of the background color. The values needs to be 0 <= value <= 1.0.
        Parameters:
        opacity - The opacity as 0 <= value <= 1.0
        Returns:
        The builder
      • windowOpacity

        public SubtitlesStyle.Builder windowOpacity​(float opacity)
        Set the opacity of the window color. The values needs to be 0 <= value <= 1.0.
        Parameters:
        opacity - The opacity as 0 <= value <= 1.0
        Returns:
        The builder
      • imageScalingMode

        public SubtitlesStyle.Builder imageScalingMode​(int imageScalingMode)
        Set the Image scaling mode for pre rendered subtitle images
        Parameters:
        imageScalingMode - the image scaling mode
        Returns:
        The Builder
      • get

        public SubtitlesStyle get()
        Create and return the new style from this builder.
        Returns:
        The new style created by this builder
      • create

        @NonNull
        public static SubtitlesStyle.Builder create​(Context context,
                                                    boolean useSystemSettings)
        Create a new instance of this builder. If useSystemSettings is true, the builder will be initialized based on the system configuration. Note that this only applies for Android API version >= 19.

        Please note that systems settings from API version >= 21 can be queried to check if a setting was overwritten by the user. For API versions 19 and 20, this is not possible, and the builder assumes that the system settings always overwrite the style.

        Parameters:
        context - The current context
        useSystemSettings - If true, the builder will be initialized with the system settings
        Returns:
        The builder
      • create

        @NonNull
        public static SubtitlesStyle.Builder create​(@NonNull
                                                    SubtitlesStyle subtitlesStyle)
        Create a new instance of this builder based on the provided subtitle style.
        Parameters:
        subtitlesStyle - The subtitle style to create the builder from
        Returns:
        The builder