mirror of
https://github.com/androidx/media.git
synced 2025-05-14 19:19:58 +08:00
Add vertical text support to SubtitleWebView
PiperOrigin-RevId: 304186326
This commit is contained in:
parent
eb65f5e20a
commit
262f19aa63
@ -212,6 +212,19 @@ import java.util.List;
|
|||||||
|
|
||||||
String textAlign = convertAlignmentToCss(cue.textAlignment);
|
String textAlign = convertAlignmentToCss(cue.textAlignment);
|
||||||
|
|
||||||
|
String writingMode = convertVerticalTypeToCss(cue.verticalType);
|
||||||
|
|
||||||
|
// All measurements are done orthogonally for vertical text (i.e. from left of screen instead
|
||||||
|
// of top, or vice versa). So flip the position & translation values.
|
||||||
|
if (cue.verticalType == Cue.VERTICAL_TYPE_LR || cue.verticalType == Cue.VERTICAL_TYPE_RL) {
|
||||||
|
float tmpFloat = horizontalPositionPercent;
|
||||||
|
horizontalPositionPercent = verticalPositionPercent;
|
||||||
|
verticalPositionPercent = tmpFloat;
|
||||||
|
int tmpInt = horizontalTranslatePercent;
|
||||||
|
horizontalTranslatePercent = verticalTranslatePercent;
|
||||||
|
verticalTranslatePercent = tmpInt;
|
||||||
|
}
|
||||||
|
|
||||||
html.append(
|
html.append(
|
||||||
Util.formatInvariant(
|
Util.formatInvariant(
|
||||||
"<div style=\""
|
"<div style=\""
|
||||||
@ -220,12 +233,14 @@ import java.util.List;
|
|||||||
+ "top:%.2f%%;"
|
+ "top:%.2f%%;"
|
||||||
+ "width:%s;"
|
+ "width:%s;"
|
||||||
+ "text-align:%s;"
|
+ "text-align:%s;"
|
||||||
|
+ "writing-mode:%s;"
|
||||||
+ "transform:translate(%s%%,%s%%);"
|
+ "transform:translate(%s%%,%s%%);"
|
||||||
+ "\">",
|
+ "\">",
|
||||||
horizontalPositionPercent,
|
horizontalPositionPercent,
|
||||||
verticalPositionPercent,
|
verticalPositionPercent,
|
||||||
width,
|
width,
|
||||||
textAlign,
|
textAlign,
|
||||||
|
writingMode,
|
||||||
horizontalTranslatePercent,
|
horizontalTranslatePercent,
|
||||||
verticalTranslatePercent))
|
verticalTranslatePercent))
|
||||||
.append(SpannedToHtmlConverter.convert(cue.text))
|
.append(SpannedToHtmlConverter.convert(cue.text))
|
||||||
@ -241,6 +256,18 @@ import java.util.List;
|
|||||||
"base64");
|
"base64");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String convertVerticalTypeToCss(@Cue.VerticalType int verticalType) {
|
||||||
|
switch (verticalType) {
|
||||||
|
case Cue.VERTICAL_TYPE_LR:
|
||||||
|
return "vertical-lr";
|
||||||
|
case Cue.VERTICAL_TYPE_RL:
|
||||||
|
return "vertical-rl";
|
||||||
|
case Cue.TYPE_UNSET:
|
||||||
|
default:
|
||||||
|
return "horizontal-tb";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private String convertAlignmentToCss(@Nullable Layout.Alignment alignment) {
|
private String convertAlignmentToCss(@Nullable Layout.Alignment alignment) {
|
||||||
if (alignment == null) {
|
if (alignment == null) {
|
||||||
return "unset";
|
return "unset";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user