Commit 56c7e1ff by Arnold Szabo

#4306 - grouping line/lineAnchor and position/positionAnchor assignments,…

#4306 - grouping line/lineAnchor and position/positionAnchor assignments, setting Cue's textAlignment to def value - null
parent 75a7385b
...@@ -202,69 +202,63 @@ public final class SubripDecoder extends SimpleSubtitleDecoder { ...@@ -202,69 +202,63 @@ public final class SubripDecoder extends SimpleSubtitleDecoder {
* @return Built cue * @return Built cue
*/ */
private Cue buildCue(Spanned text, String alignmentTag) { private Cue buildCue(Spanned text, String alignmentTag) {
// Default values used for positioning the subtitle in case of align tags float line, position;
float line = DEFAULT_END_FRACTION, position = DEFAULT_MID_FRACTION; @Cue.AnchorType int positionAnchor;
@Cue.AnchorType int positionAnchor = Cue.ANCHOR_TYPE_MIDDLE; @Cue.AnchorType int lineAnchor;
@Cue.AnchorType int lineAnchor = Cue.ANCHOR_TYPE_END;
// Set position and position anchor (horizontal alignment)
switch (alignmentTag) { switch (alignmentTag) {
case ALIGN_BOTTOM_LEFT: case ALIGN_BOTTOM_LEFT:
line = DEFAULT_END_FRACTION; case ALIGN_MID_LEFT:
case ALIGN_TOP_LEFT:
position = DEFAULT_START_FRACTION; position = DEFAULT_START_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_START; positionAnchor = Cue.ANCHOR_TYPE_START;
lineAnchor = Cue.ANCHOR_TYPE_END;
break; break;
case ALIGN_BOTTOM_MID: case ALIGN_BOTTOM_MID:
line = DEFAULT_END_FRACTION; case ALIGN_MID_MID:
case ALIGN_TOP_MID:
position = DEFAULT_MID_FRACTION; position = DEFAULT_MID_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_MIDDLE; positionAnchor = Cue.ANCHOR_TYPE_MIDDLE;
lineAnchor = Cue.ANCHOR_TYPE_END;
break; break;
case ALIGN_BOTTOM_RIGHT: case ALIGN_BOTTOM_RIGHT:
line = DEFAULT_END_FRACTION; case ALIGN_MID_RIGHT:
case ALIGN_TOP_RIGHT:
position = DEFAULT_END_FRACTION; position = DEFAULT_END_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_END; positionAnchor = Cue.ANCHOR_TYPE_END;
lineAnchor = Cue.ANCHOR_TYPE_END;
break; break;
case ALIGN_MID_LEFT: default:
line = DEFAULT_MID_FRACTION;
position = DEFAULT_START_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_START;
lineAnchor = Cue.ANCHOR_TYPE_MIDDLE;
break;
case ALIGN_MID_MID:
line = DEFAULT_MID_FRACTION;
position = DEFAULT_MID_FRACTION; position = DEFAULT_MID_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_MIDDLE; positionAnchor = Cue.ANCHOR_TYPE_MIDDLE;
lineAnchor = Cue.ANCHOR_TYPE_MIDDLE;
break; break;
}
// Set line and line anchor (vertical alignment)
switch (alignmentTag) {
case ALIGN_BOTTOM_LEFT:
case ALIGN_BOTTOM_MID:
case ALIGN_BOTTOM_RIGHT:
line = DEFAULT_END_FRACTION;
lineAnchor = Cue.ANCHOR_TYPE_END;
break;
case ALIGN_MID_LEFT:
case ALIGN_MID_MID:
case ALIGN_MID_RIGHT: case ALIGN_MID_RIGHT:
line = DEFAULT_MID_FRACTION; line = DEFAULT_MID_FRACTION;
position = DEFAULT_END_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_END;
lineAnchor = Cue.ANCHOR_TYPE_MIDDLE; lineAnchor = Cue.ANCHOR_TYPE_MIDDLE;
break; break;
case ALIGN_TOP_LEFT: case ALIGN_TOP_LEFT:
line = DEFAULT_START_FRACTION;
position = DEFAULT_START_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_START;
lineAnchor = Cue.ANCHOR_TYPE_START;
break;
case ALIGN_TOP_MID: case ALIGN_TOP_MID:
line = DEFAULT_START_FRACTION;
position = DEFAULT_MID_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_MIDDLE;
lineAnchor = Cue.ANCHOR_TYPE_START;
break;
case ALIGN_TOP_RIGHT: case ALIGN_TOP_RIGHT:
line = DEFAULT_START_FRACTION; line = DEFAULT_START_FRACTION;
position = DEFAULT_END_FRACTION;
positionAnchor = Cue.ANCHOR_TYPE_END;
lineAnchor = Cue.ANCHOR_TYPE_START; lineAnchor = Cue.ANCHOR_TYPE_START;
break; break;
default:
line = DEFAULT_END_FRACTION;
lineAnchor = Cue.ANCHOR_TYPE_END;
break;
} }
return new Cue(text, Layout.Alignment.ALIGN_NORMAL, line, Cue.LINE_TYPE_FRACTION, lineAnchor, position, positionAnchor, Cue.DIMEN_UNSET); return new Cue(text, null, line, Cue.LINE_TYPE_FRACTION, lineAnchor, position, positionAnchor, Cue.DIMEN_UNSET);
} }
private static long parseTimecode(Matcher matcher, int groupOffset) { private static long parseTimecode(Matcher matcher, int groupOffset) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment