forked from bblanchon/ArduinoJson
40 lines
657 B
C++
40 lines
657 B
C++
#include "IndentedPrintDecorator.h"
|
|
|
|
void IndentedPrintDecorator::indent()
|
|
{
|
|
currentTabCount++;
|
|
}
|
|
|
|
void IndentedPrintDecorator::unindent()
|
|
{
|
|
currentTabCount--;
|
|
}
|
|
|
|
size_t IndentedPrintDecorator::write(uint8_t c)
|
|
{
|
|
size_t n = 0;
|
|
|
|
if (isNewLine)
|
|
n += writeCurrentTabs();
|
|
|
|
n += sink.write(c);
|
|
|
|
isNewLine = c == '\n';
|
|
|
|
return n;
|
|
}
|
|
|
|
size_t IndentedPrintDecorator::writeCurrentTabs()
|
|
{
|
|
return writeTabs(currentTabCount);
|
|
}
|
|
|
|
size_t IndentedPrintDecorator::writeTabs(int count)
|
|
{
|
|
size_t n = 0;
|
|
|
|
for (int i = 0; i<count; i++)
|
|
n += sink.write(' ');
|
|
|
|
return n;
|
|
} |