Extracted class IndentedPrintDecorator from PrettyPrintDecorator

This commit is contained in:
Benoit Blanchon
2014-08-26 09:28:41 +02:00
parent d877d77b63
commit 6539c6982c
12 changed files with 128 additions and 31 deletions

View File

@ -0,0 +1,36 @@
/*
* Arduino JSON library
* Benoit Blanchon 2014 - MIT License
*/
#pragma once
#include "Print.h"
class IndentedPrintDecorator : public Print
{
public:
IndentedPrintDecorator(Print& p)
: sink(p)
{
pendingTabCount = 0;
currentTabCount = 0;
isNewLine = true;
}
void indent();
void unindent();
bool isNewLine;
virtual size_t write(uint8_t);
private:
Print& sink;
int currentTabCount;
int pendingTabCount;
size_t writeCurrentTabs();
size_t writeTabs(int count);
};