2014-08-26 09:56:05 +02:00
|
|
|
#include "IndentedPrint.h"
|
2014-08-26 09:28:41 +02:00
|
|
|
|
2014-08-26 09:56:05 +02:00
|
|
|
void IndentedPrint::indent()
|
2014-08-26 09:28:41 +02:00
|
|
|
{
|
2014-08-26 09:53:32 +02:00
|
|
|
if (level<127)
|
|
|
|
level++;
|
2014-08-26 09:28:41 +02:00
|
|
|
}
|
|
|
|
|
2014-08-26 09:56:05 +02:00
|
|
|
void IndentedPrint::unindent()
|
2014-08-26 09:28:41 +02:00
|
|
|
{
|
2014-08-26 09:53:32 +02:00
|
|
|
if (level>0)
|
|
|
|
level--;
|
2014-08-26 09:28:41 +02:00
|
|
|
}
|
|
|
|
|
2014-08-26 09:56:05 +02:00
|
|
|
size_t IndentedPrint::write(uint8_t c)
|
2014-08-26 09:28:41 +02:00
|
|
|
{
|
|
|
|
size_t n = 0;
|
|
|
|
|
|
|
|
if (isNewLine)
|
2014-08-26 09:53:32 +02:00
|
|
|
n += writeTabs();
|
2014-08-26 09:28:41 +02:00
|
|
|
|
|
|
|
n += sink.write(c);
|
|
|
|
|
|
|
|
isNewLine = c == '\n';
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|
|
|
|
|
2014-08-26 09:56:05 +02:00
|
|
|
size_t IndentedPrint::writeTabs()
|
2014-08-26 09:28:41 +02:00
|
|
|
{
|
|
|
|
size_t n = 0;
|
|
|
|
|
2014-08-26 09:53:32 +02:00
|
|
|
for (int i = 0; i<level; i++)
|
2014-08-26 09:28:41 +02:00
|
|
|
n += sink.write(' ');
|
|
|
|
|
|
|
|
return n;
|
|
|
|
}
|