public void styleOff() { if (stack != null && stack.size() > 0) { safeAppend(Style.reset); } }
public void enterStyle(Style.Composite style) { if (stack == null) { stack = new LinkedList<Style.Composite>(); } safeAppend(style); stack.addLast(style); }
public RenderAppendable append(char c) { safeAppend(Text.create(Character.toString(c))); return this; } }
public void styleOn() { if (stack != null && stack.size() > 0) { safeAppend(getMerged()); } }
public RenderAppendable append(CharSequence csq) { safeAppend(Text.create(csq)); return this; }
public RenderAppendable append(CharSequence csq, int start, int end) { safeAppend(Text.create(csq.subSequence(start, end))); return this; }
public Style.Composite leaveStyle() { if (stack == null || stack.isEmpty()) { throw new IllegalStateException("Cannot leave non existing style"); } Style.Composite last = stack.removeLast(); if (stack.size() > 0) { // Compute merged Style.Composite merged = getMerged(); // Compute diff with removed Boolean bold = foo(last.getBold(), merged.getBold()); Boolean underline = foo(last.getUnderline(), merged.getUnderline()); Boolean blink = foo(last.getBlink(), merged.getBlink()); // For now we assume that black is the default background color // and white is the default foreground color Color fg = foo(last.getForeground(), merged.getForeground(), Color.def); Color bg = foo(last.getBackground(), merged.getBackground(), Color.def); // Style.Composite bilto = Style.style(bold, underline, blink, fg, bg); // safeAppend(bilto); } else { safeAppend(Style.reset); } return last; }