Java 类com.google.android.exoplayer2.text.CaptionStyleCompat 实例源码

项目:yjPlay    文件:SubtitleView.java   
public SubtitleView(Context context, AttributeSet attrs) {
  super(context, attrs);
  painters = new ArrayList<>();
  textSizeType = FRACTIONAL;
  textSize = DEFAULT_TEXT_SIZE_FRACTION;
  applyEmbeddedStyles = true;
  applyEmbeddedFontSizes = true;
  style = CaptionStyleCompat.DEFAULT;
  bottomPaddingFraction = DEFAULT_BOTTOM_PADDING_FRACTION;
}
项目:yjPlay    文件:SubtitleView.java   
/**
 * Sets the caption style.
 *
 * @param style A style for the view.
 */
public void setStyle(CaptionStyleCompat style) {
  if (this.style == style) {
    return;
  }
  this.style = style;
  // Invalidate to trigger drawing.
  invalidate();
}
项目:K-Sonic    文件:SubtitleView.java   
public SubtitleView(Context context, AttributeSet attrs) {
  super(context, attrs);
  painters = new ArrayList<>();
  textSizeType = FRACTIONAL;
  textSize = DEFAULT_TEXT_SIZE_FRACTION;
  applyEmbeddedStyles = true;
  style = CaptionStyleCompat.DEFAULT;
  bottomPaddingFraction = DEFAULT_BOTTOM_PADDING_FRACTION;
}
项目:K-Sonic    文件:SubtitleView.java   
/**
 * Sets the caption style.
 *
 * @param style A style for the view.
 */
public void setStyle(CaptionStyleCompat style) {
  if (this.style == style) {
    return;
  }
  this.style = style;
  // Invalidate to trigger drawing.
  invalidate();
}
项目:videoPickPlayer    文件:SubtitleView.java   
public SubtitleView(Context context, AttributeSet attrs) {
  super(context, attrs);
  painters = new ArrayList<>();
  textSizeType = FRACTIONAL;
  textSize = DEFAULT_TEXT_SIZE_FRACTION;
  applyEmbeddedStyles = true;
  style = CaptionStyleCompat.DEFAULT;
  bottomPaddingFraction = DEFAULT_BOTTOM_PADDING_FRACTION;
}
项目:videoPickPlayer    文件:SubtitleView.java   
/**
 * Sets the caption style.
 *
 * @param style A style for the view.
 */
public void setStyle(CaptionStyleCompat style) {
  if (this.style == style) {
    return;
  }
  this.style = style;
  // Invalidate to trigger drawing.
  invalidate();
}
项目:stepik-android    文件:SubtitleView.java   
public SubtitleView(Context context, AttributeSet attrs) {
  super(context, attrs);
  painters = new ArrayList<>();
  textSizeType = FRACTIONAL;
  textSize = DEFAULT_TEXT_SIZE_FRACTION;
  applyEmbeddedStyles = true;
  applyEmbeddedFontSizes = true;
  style = CaptionStyleCompat.DEFAULT;
  bottomPaddingFraction = DEFAULT_BOTTOM_PADDING_FRACTION;
}
项目:stepik-android    文件:SubtitleView.java   
/**
 * Sets the caption style.
 *
 * @param style A style for the view.
 */
public void setStyle(CaptionStyleCompat style) {
  if (this.style == style) {
    return;
  }
  this.style = style;
  // Invalidate to trigger drawing.
  invalidate();
}
项目:transistor    文件:SubtitleView.java   
public SubtitleView(Context context, AttributeSet attrs) {
  super(context, attrs);
  painters = new ArrayList<>();
  textSizeType = FRACTIONAL;
  textSize = DEFAULT_TEXT_SIZE_FRACTION;
  applyEmbeddedStyles = true;
  applyEmbeddedFontSizes = true;
  style = CaptionStyleCompat.DEFAULT;
  bottomPaddingFraction = DEFAULT_BOTTOM_PADDING_FRACTION;
}
项目:transistor    文件:SubtitleView.java   
/**
 * Sets the caption style.
 *
 * @param style A style for the view.
 */
public void setStyle(CaptionStyleCompat style) {
  if (this.style == style) {
    return;
  }
  this.style = style;
  // Invalidate to trigger drawing.
  invalidate();
}
项目:yjPlay    文件:SubtitlePainter.java   
private void drawTextLayout(Canvas canvas) {
  StaticLayout layout = textLayout;
  if (layout == null) {
    // Nothing to draw.
    return;
  }

  int saveCount = canvas.save();
  canvas.translate(textLeft, textTop);

  if (Color.alpha(windowColor) > 0) {
    paint.setColor(windowColor);
    canvas.drawRect(-textPaddingX, 0, layout.getWidth() + textPaddingX, layout.getHeight(),
        paint);
  }

  if (Color.alpha(backgroundColor) > 0) {
    paint.setColor(backgroundColor);
    float previousBottom = layout.getLineTop(0);
    int lineCount = layout.getLineCount();
    for (int i = 0; i < lineCount; i++) {
      lineBounds.left = layout.getLineLeft(i) - textPaddingX;
      lineBounds.right = layout.getLineRight(i) + textPaddingX;
      lineBounds.top = previousBottom;
      lineBounds.bottom = layout.getLineBottom(i);
      previousBottom = lineBounds.bottom;
      canvas.drawRoundRect(lineBounds, cornerRadius, cornerRadius, paint);
    }
  }

  if (edgeType == CaptionStyleCompat.EDGE_TYPE_OUTLINE) {
    textPaint.setStrokeJoin(Join.ROUND);
    textPaint.setStrokeWidth(outlineWidth);
    textPaint.setColor(edgeColor);
    textPaint.setStyle(Style.FILL_AND_STROKE);
    layout.draw(canvas);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_DROP_SHADOW) {
    textPaint.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, edgeColor);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED
      || edgeType == CaptionStyleCompat.EDGE_TYPE_DEPRESSED) {
    boolean raised = edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED;
    int colorUp = raised ? Color.WHITE : edgeColor;
    int colorDown = raised ? edgeColor : Color.WHITE;
    float offset = shadowRadius / 2f;
    textPaint.setColor(foregroundColor);
    textPaint.setStyle(Style.FILL);
    textPaint.setShadowLayer(shadowRadius, -offset, -offset, colorUp);
    layout.draw(canvas);
    textPaint.setShadowLayer(shadowRadius, offset, offset, colorDown);
  }

  textPaint.setColor(foregroundColor);
  textPaint.setStyle(Style.FILL);
  layout.draw(canvas);
  textPaint.setShadowLayer(0, 0, 0, 0);

  canvas.restoreToCount(saveCount);
}
项目:yjPlay    文件:SubtitleView.java   
/**
 * Sets the caption style to be equivalent to the one returned by
 * {@link CaptioningManager#getUserStyle()}, or to a default style before API level 19.
 */
public void setUserDefaultStyle() {
  setStyle(Util.SDK_INT >= 19 && !isInEditMode()
      ? getUserCaptionStyleV19() : CaptionStyleCompat.DEFAULT);
}
项目:yjPlay    文件:SubtitleView.java   
@TargetApi(19)
private CaptionStyleCompat getUserCaptionStyleV19() {
  CaptioningManager captioningManager =
      (CaptioningManager) getContext().getSystemService(Context.CAPTIONING_SERVICE);
  return CaptionStyleCompat.createFromCaptionStyle(captioningManager.getUserStyle());
}
项目:no-player    文件:SubtitlePainter.java   
@SuppressWarnings("PMD.NPathComplexity")  // TODO break this method up
private void drawTextLayout(Canvas canvas) {
    StaticLayout layout = textLayout;
    if (layout == null) {
        // Nothing to draw.
        return;
    }

    int saveCount = canvas.save();
    canvas.translate(textLeft, textTop);

    if (Color.alpha(windowColor) > 0) {
        paint.setColor(windowColor);
        canvas.drawRect(-textPaddingX, 0, layout.getWidth() + textPaddingX, layout.getHeight(),
                paint);
    }

    if (Color.alpha(backgroundColor) > 0) {
        paint.setColor(backgroundColor);
        float previousBottom = layout.getLineTop(0);
        int lineCount = layout.getLineCount();
        for (int i = 0; i < lineCount; i++) {
            lineBounds.left = layout.getLineLeft(i) - textPaddingX;
            lineBounds.right = layout.getLineRight(i) + textPaddingX;
            lineBounds.top = previousBottom;
            lineBounds.bottom = layout.getLineBottom(i);
            previousBottom = lineBounds.bottom;
            canvas.drawRoundRect(lineBounds, cornerRadius, cornerRadius, paint);
        }
    }

    if (edgeType == CaptionStyleCompat.EDGE_TYPE_OUTLINE) {
        textPaint.setStrokeJoin(Join.ROUND);
        textPaint.setStrokeWidth(outlineWidth);
        textPaint.setColor(edgeColor);
        textPaint.setStyle(Style.FILL_AND_STROKE);
        layout.draw(canvas);
    } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_DROP_SHADOW) {
        textPaint.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, edgeColor);
    } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED
            || edgeType == CaptionStyleCompat.EDGE_TYPE_DEPRESSED) {
        boolean raised = edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED;
        int colorUp = raised ? Color.WHITE : edgeColor;
        int colorDown = raised ? edgeColor : Color.WHITE;
        float offset = shadowRadius / 2;
        textPaint.setColor(foregroundColor);
        textPaint.setStyle(Style.FILL);
        textPaint.setShadowLayer(shadowRadius, -offset, -offset, colorUp);
        layout.draw(canvas);
        textPaint.setShadowLayer(shadowRadius, offset, offset, colorDown);
    }

    textPaint.setColor(foregroundColor);
    textPaint.setStyle(Style.FILL);
    layout.draw(canvas);
    textPaint.setShadowLayer(0, 0, 0, 0);

    canvas.restoreToCount(saveCount);
}
项目:K-Sonic    文件:SubtitlePainter.java   
private void drawTextLayout(Canvas canvas) {
  StaticLayout layout = textLayout;
  if (layout == null) {
    // Nothing to draw.
    return;
  }

  int saveCount = canvas.save();
  canvas.translate(textLeft, textTop);

  if (Color.alpha(windowColor) > 0) {
    paint.setColor(windowColor);
    canvas.drawRect(-textPaddingX, 0, layout.getWidth() + textPaddingX, layout.getHeight(),
        paint);
  }

  if (Color.alpha(backgroundColor) > 0) {
    paint.setColor(backgroundColor);
    float previousBottom = layout.getLineTop(0);
    int lineCount = layout.getLineCount();
    for (int i = 0; i < lineCount; i++) {
      lineBounds.left = layout.getLineLeft(i) - textPaddingX;
      lineBounds.right = layout.getLineRight(i) + textPaddingX;
      lineBounds.top = previousBottom;
      lineBounds.bottom = layout.getLineBottom(i);
      previousBottom = lineBounds.bottom;
      canvas.drawRoundRect(lineBounds, cornerRadius, cornerRadius, paint);
    }
  }

  if (edgeType == CaptionStyleCompat.EDGE_TYPE_OUTLINE) {
    textPaint.setStrokeJoin(Join.ROUND);
    textPaint.setStrokeWidth(outlineWidth);
    textPaint.setColor(edgeColor);
    textPaint.setStyle(Style.FILL_AND_STROKE);
    layout.draw(canvas);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_DROP_SHADOW) {
    textPaint.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, edgeColor);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED
      || edgeType == CaptionStyleCompat.EDGE_TYPE_DEPRESSED) {
    boolean raised = edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED;
    int colorUp = raised ? Color.WHITE : edgeColor;
    int colorDown = raised ? edgeColor : Color.WHITE;
    float offset = shadowRadius / 2f;
    textPaint.setColor(foregroundColor);
    textPaint.setStyle(Style.FILL);
    textPaint.setShadowLayer(shadowRadius, -offset, -offset, colorUp);
    layout.draw(canvas);
    textPaint.setShadowLayer(shadowRadius, offset, offset, colorDown);
  }

  textPaint.setColor(foregroundColor);
  textPaint.setStyle(Style.FILL);
  layout.draw(canvas);
  textPaint.setShadowLayer(0, 0, 0, 0);

  canvas.restoreToCount(saveCount);
}
项目:K-Sonic    文件:SubtitleView.java   
/**
 * Sets the caption style to be equivalent to the one returned by
 * {@link CaptioningManager#getUserStyle()}, or to a default style before API level 19.
 */
public void setUserDefaultStyle() {
  setStyle(Util.SDK_INT >= 19 && !isInEditMode()
      ? getUserCaptionStyleV19() : CaptionStyleCompat.DEFAULT);
}
项目:K-Sonic    文件:SubtitleView.java   
@TargetApi(19)
private CaptionStyleCompat getUserCaptionStyleV19() {
  CaptioningManager captioningManager =
      (CaptioningManager) getContext().getSystemService(Context.CAPTIONING_SERVICE);
  return CaptionStyleCompat.createFromCaptionStyle(captioningManager.getUserStyle());
}
项目:videoPickPlayer    文件:SubtitlePainter.java   
/**
 * Draws {@link #textLayout} into the provided canvas.
 *
 * @param canvas The canvas into which to draw.
 */
private void drawLayout(Canvas canvas) {
  final StaticLayout layout = textLayout;
  if (layout == null) {
    // Nothing to draw.
    return;
  }

  int saveCount = canvas.save();
  canvas.translate(textLeft, textTop);

  if (Color.alpha(windowColor) > 0) {
    paint.setColor(windowColor);
    canvas.drawRect(-textPaddingX, 0, layout.getWidth() + textPaddingX, layout.getHeight(),
        paint);
  }

  if (Color.alpha(backgroundColor) > 0) {
    paint.setColor(backgroundColor);
    float previousBottom = layout.getLineTop(0);
    int lineCount = layout.getLineCount();
    for (int i = 0; i < lineCount; i++) {
      lineBounds.left = layout.getLineLeft(i) - textPaddingX;
      lineBounds.right = layout.getLineRight(i) + textPaddingX;
      lineBounds.top = previousBottom;
      lineBounds.bottom = layout.getLineBottom(i);
      previousBottom = lineBounds.bottom;
      canvas.drawRoundRect(lineBounds, cornerRadius, cornerRadius, paint);
    }
  }

  if (edgeType == CaptionStyleCompat.EDGE_TYPE_OUTLINE) {
    textPaint.setStrokeJoin(Join.ROUND);
    textPaint.setStrokeWidth(outlineWidth);
    textPaint.setColor(edgeColor);
    textPaint.setStyle(Style.FILL_AND_STROKE);
    layout.draw(canvas);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_DROP_SHADOW) {
    textPaint.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, edgeColor);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED
      || edgeType == CaptionStyleCompat.EDGE_TYPE_DEPRESSED) {
    boolean raised = edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED;
    int colorUp = raised ? Color.WHITE : edgeColor;
    int colorDown = raised ? edgeColor : Color.WHITE;
    float offset = shadowRadius / 2f;
    textPaint.setColor(foregroundColor);
    textPaint.setStyle(Style.FILL);
    textPaint.setShadowLayer(shadowRadius, -offset, -offset, colorUp);
    layout.draw(canvas);
    textPaint.setShadowLayer(shadowRadius, offset, offset, colorDown);
  }

  textPaint.setColor(foregroundColor);
  textPaint.setStyle(Style.FILL);
  layout.draw(canvas);
  textPaint.setShadowLayer(0, 0, 0, 0);

  canvas.restoreToCount(saveCount);
}
项目:videoPickPlayer    文件:SubtitleView.java   
@TargetApi(19)
private CaptionStyleCompat getUserCaptionStyleV19() {
  CaptioningManager captioningManager =
      (CaptioningManager) getContext().getSystemService(Context.CAPTIONING_SERVICE);
  return CaptionStyleCompat.createFromCaptionStyle(captioningManager.getUserStyle());
}
项目:stepik-android    文件:SubtitlePainter.java   
private void drawTextLayout(Canvas canvas) {
  StaticLayout layout = textLayout;
  if (layout == null) {
    // Nothing to draw.
    return;
  }

  int saveCount = canvas.save();
  canvas.translate(textLeft, textTop);

  if (Color.alpha(windowColor) > 0) {
    paint.setColor(windowColor);
    canvas.drawRect(-textPaddingX, 0, layout.getWidth() + textPaddingX, layout.getHeight(),
        paint);
  }

  if (Color.alpha(backgroundColor) > 0) {
    paint.setColor(backgroundColor);
    float previousBottom = layout.getLineTop(0);
    int lineCount = layout.getLineCount();
    for (int i = 0; i < lineCount; i++) {
      lineBounds.left = layout.getLineLeft(i) - textPaddingX;
      lineBounds.right = layout.getLineRight(i) + textPaddingX;
      lineBounds.top = previousBottom;
      lineBounds.bottom = layout.getLineBottom(i);
      previousBottom = lineBounds.bottom;
      canvas.drawRoundRect(lineBounds, cornerRadius, cornerRadius, paint);
    }
  }

  if (edgeType == CaptionStyleCompat.EDGE_TYPE_OUTLINE) {
    textPaint.setStrokeJoin(Join.ROUND);
    textPaint.setStrokeWidth(outlineWidth);
    textPaint.setColor(edgeColor);
    textPaint.setStyle(Style.FILL_AND_STROKE);
    layout.draw(canvas);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_DROP_SHADOW) {
    textPaint.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, edgeColor);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED
      || edgeType == CaptionStyleCompat.EDGE_TYPE_DEPRESSED) {
    boolean raised = edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED;
    int colorUp = raised ? Color.WHITE : edgeColor;
    int colorDown = raised ? edgeColor : Color.WHITE;
    float offset = shadowRadius / 2f;
    textPaint.setColor(foregroundColor);
    textPaint.setStyle(Style.FILL);
    textPaint.setShadowLayer(shadowRadius, -offset, -offset, colorUp);
    layout.draw(canvas);
    textPaint.setShadowLayer(shadowRadius, offset, offset, colorDown);
  }

  textPaint.setColor(foregroundColor);
  textPaint.setStyle(Style.FILL);
  layout.draw(canvas);
  textPaint.setShadowLayer(0, 0, 0, 0);

  canvas.restoreToCount(saveCount);
}
项目:stepik-android    文件:SubtitleView.java   
/**
 * Sets the caption style to be equivalent to the one returned by
 * {@link CaptioningManager#getUserStyle()}, or to a default style before API level 19.
 */
public void setUserDefaultStyle() {
  setStyle(Util.SDK_INT >= 19 && !isInEditMode()
      ? getUserCaptionStyleV19() : CaptionStyleCompat.DEFAULT);
}
项目:stepik-android    文件:SubtitleView.java   
@TargetApi(19)
private CaptionStyleCompat getUserCaptionStyleV19() {
  CaptioningManager captioningManager =
      (CaptioningManager) getContext().getSystemService(Context.CAPTIONING_SERVICE);
  return CaptionStyleCompat.createFromCaptionStyle(captioningManager.getUserStyle());
}
项目:transistor    文件:SubtitlePainter.java   
private void drawTextLayout(Canvas canvas) {
  StaticLayout layout = textLayout;
  if (layout == null) {
    // Nothing to draw.
    return;
  }

  int saveCount = canvas.save();
  canvas.translate(textLeft, textTop);

  if (Color.alpha(windowColor) > 0) {
    paint.setColor(windowColor);
    canvas.drawRect(-textPaddingX, 0, layout.getWidth() + textPaddingX, layout.getHeight(),
        paint);
  }

  if (Color.alpha(backgroundColor) > 0) {
    paint.setColor(backgroundColor);
    float previousBottom = layout.getLineTop(0);
    int lineCount = layout.getLineCount();
    for (int i = 0; i < lineCount; i++) {
      lineBounds.left = layout.getLineLeft(i) - textPaddingX;
      lineBounds.right = layout.getLineRight(i) + textPaddingX;
      lineBounds.top = previousBottom;
      lineBounds.bottom = layout.getLineBottom(i);
      previousBottom = lineBounds.bottom;
      canvas.drawRoundRect(lineBounds, cornerRadius, cornerRadius, paint);
    }
  }

  if (edgeType == CaptionStyleCompat.EDGE_TYPE_OUTLINE) {
    textPaint.setStrokeJoin(Join.ROUND);
    textPaint.setStrokeWidth(outlineWidth);
    textPaint.setColor(edgeColor);
    textPaint.setStyle(Style.FILL_AND_STROKE);
    layout.draw(canvas);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_DROP_SHADOW) {
    textPaint.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, edgeColor);
  } else if (edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED
      || edgeType == CaptionStyleCompat.EDGE_TYPE_DEPRESSED) {
    boolean raised = edgeType == CaptionStyleCompat.EDGE_TYPE_RAISED;
    int colorUp = raised ? Color.WHITE : edgeColor;
    int colorDown = raised ? edgeColor : Color.WHITE;
    float offset = shadowRadius / 2f;
    textPaint.setColor(foregroundColor);
    textPaint.setStyle(Style.FILL);
    textPaint.setShadowLayer(shadowRadius, -offset, -offset, colorUp);
    layout.draw(canvas);
    textPaint.setShadowLayer(shadowRadius, offset, offset, colorDown);
  }

  textPaint.setColor(foregroundColor);
  textPaint.setStyle(Style.FILL);
  layout.draw(canvas);
  textPaint.setShadowLayer(0, 0, 0, 0);

  canvas.restoreToCount(saveCount);
}
项目:transistor    文件:SubtitleView.java   
/**
 * Sets the caption style to be equivalent to the one returned by
 * {@link CaptioningManager#getUserStyle()}, or to a default style before API level 19.
 */
public void setUserDefaultStyle() {
  setStyle(Util.SDK_INT >= 19 && !isInEditMode()
      ? getUserCaptionStyleV19() : CaptionStyleCompat.DEFAULT);
}
项目:transistor    文件:SubtitleView.java   
@TargetApi(19)
private CaptionStyleCompat getUserCaptionStyleV19() {
  CaptioningManager captioningManager =
      (CaptioningManager) getContext().getSystemService(Context.CAPTIONING_SERVICE);
  return CaptionStyleCompat.createFromCaptionStyle(captioningManager.getUserStyle());
}
项目:videoPickPlayer    文件:SubtitleView.java   
/**
 * Sets the caption style to be equivalent to the one returned by
 * {@link CaptioningManager#getUserStyle()}, or to a default style on API level 19 and earlier.
 */
public void setUserDefaultStyle() {
  setStyle(Util.SDK_INT >= 19 ? getUserCaptionStyleV19() : CaptionStyleCompat.DEFAULT);
}