private static InlineText layoutText(LayoutContext c, CalculatedStyle style, int remainingWidth, LineBreakContext lbContext, boolean needFirstLetter) { InlineText result = null; result = new InlineText(); result.setMasterText(lbContext.getMaster()); result.setTextNode(lbContext.getTextNode()); if (needFirstLetter) { Breaker.breakFirstLetter(c, lbContext, remainingWidth, style); } else { Breaker.breakText(c, lbContext, remainingWidth, style); } result.setSubstring(lbContext.getStart(), lbContext.getEnd()); result.setWidth(lbContext.getWidth()); return result; }
public static void breakFirstLetter(LayoutContext c, LineBreakContext context, int avail, CalculatedStyle style) { FSFont font = style.getFSFont(c); context.setEnd(getFirstLetterEnd(context.getMaster(), context.getStart())); context.setWidth(c.getTextRenderer().getWidth( c.getFontContext(), font, context.getCalculatedSubstring())); if (context.getWidth() > avail) { context.setNeedsNewLine(true); context.setUnbreakable(true); } }
if ( lastWrap == 0 && style.getWordWrap() == IdentValue.BREAK_WORD ) { if ( ! tryToBreakAnywhere ) { doBreakText(c, context, avail, style, true); return;
public static void breakFirstLetter(LayoutContext c, LineBreakContext context, int avail, CalculatedStyle style) { FSFont font = style.getFSFont(c); context.setEnd(getFirstLetterEnd(context.getMaster(), context.getStart())); context.setWidth(c.getTextRenderer().getWidth( c.getFontContext(), font, context.getCalculatedSubstring())); if (context.getWidth() > avail) { context.setNeedsNewLine(true); context.setUnbreakable(true); } }
doBreakText(c, context, avail, style, false);
private static InlineText layoutText(LayoutContext c, CalculatedStyle style, int remainingWidth, LineBreakContext lbContext, boolean needFirstLetter) { InlineText result = null; result = new InlineText(); result.setMasterText(lbContext.getMaster()); result.setTextNode(lbContext.getTextNode()); if (needFirstLetter) { Breaker.breakFirstLetter(c, lbContext, remainingWidth, style); } else { Breaker.breakText(c, lbContext, remainingWidth, style); } result.setSubstring(lbContext.getStart(), lbContext.getEnd()); result.setWidth(lbContext.getWidth()); return result; }